我有一個NSMenuItem。我希望菜單項的state
又名value
又名checkmark
匹配我在對象中使用的布爾值。在NSMenuItem中使用複選標記的正確方法
我目前正在使用「發送操作」 - >「選擇器」插座。拖動它到我的對象,並使用IBAction爲如下:
- (IBAction) setMyGlobalBoolean:(id)sender
{
if(globalBoolean)
{
globalBoolean = FALSE;
[sender setState: NSOffState];
}
else if(!globalBoolean)
{
globalBoolean = TRUE;
[sender setState: NSOnState];
}
}
但是,我有我應該使用的Bindings Inspector
到Value
屬性爲布爾變量綁定的感覺。
問題是,當我嘗試這樣做時,我無法將我的布爾值鏈接到值。我可以將值連接到IB中的對象。但是「控制器密鑰」字段則爲空並且不可編輯。
我可以讓控制器鍵字段工作的唯一方法是如果我將值字段掛接到Shared User Defaults Controller
......我不知道那是什麼或爲什麼/如果我應該使用它。
呃,是的,布爾值是我的對象的成員。對於術語混淆抱歉。 – cksubs
你說過:「如果布爾值是你的對象的成員,那麼你應該創建訪問器,以便它可以用於鍵值編碼。」 - 這基本上是我在上面的代碼中完成的嗎? – cksubs
訪問器可以使用'@ synthesize'或通過明確創建它們來創建,例如(void)setGlobalBoolean:(BOOL)和(BOOL)globalBoolean。我沒有看到你的問題中提到的那些。 –