開發(fā)過程中,有些時候看似簡單的功能卻按照常規(guī)方式實現(xiàn)不了。
假設存在NSMenuItem的實例變量aTestMenuItem,想通過設置調用其[aTestMenuItem setEnable:NO]使其無效且顏色變成灰色看似可行,然并卵。至于為什么調用這個函數(shù)無效,此處暫時留坑,以后有時間再填吧,畢竟最近實在是太忙了。
此處有一個解決問題的辦法,通過綁定與解綁其響應函數(shù)達到預期效果,如下所示:
- (void)enableTestMenuItemMenuItem:(BOOL)enable
{
if (enable) {
[aTestMenuItem setTarget:self];
[aTestMenuItem setAction:@selector(xxx:)];
}else
{
[aTestMenuItem setTarget:nil];
[aTestMenuItem setAction:nil];
}
}
ps:代碼很簡單就不寫注釋了。