2012-03-23 60 views
0

讓我解釋一下我的意思是:與操作和反之亦然連接NSMenuItems

比方說,我們有在它(幾個項目的菜單讓我們說這是一個...選項集合,其中只有一個可能隨時啓用)。

什麼是建議的實施(綁定我不知道......?),這樣我就可以滿足以下情形:

  • 用戶點擊菜單上的項目,而這個觸發器某些控制器上的動作doSomething。此外,當獨立調用doSomething這個動作時,也應該檢查相應的菜單項。

  • 我們有一個相同的菜單(別的地方),與初始菜單有相同的選項。用戶點擊菜單A的一項,在菜單B上檢查相同的項目,執行動作doSomething。這一點應在行動任意順序(A-> B->動作,B-> A->動作,動作 - > A-> B)

回答

1

-doSomething:應設置一個BOOL變量,指示是否應該檢查菜單項。

這個,使用NSUserInterfaceValidations協議,就像我在對你的previous question的回答中解釋的那樣。

-validateUserInterfaceItem:,獲取BOOL的值,則:

[(NSMenuItem*)anItem setState:(boolValue ? NSOnState : NSOffState)]; 
+0

非常感謝您的回覆! :-) 我知道了。 – 2012-03-23 03:43:30

+0

這裏的語法是什麼((boolValue?NSOnState:NSOffState)'?什麼是「格式」叫什麼,我可以在哪裏讀到更多關於它? – cksubs 2012-04-03 20:56:51

+0

這是[條件操作符](http://www.eskimo.com/~scs/cclass/int/sx4eb.html),它是C語言的一部分。 – 2012-04-04 04:21:44

1

我會每個菜單項調用自己的行動工作方法,讓每個動作方法都將一個實例變量設置爲一個值,具體取決於它是哪一個值,並且它們實現NSMenuValidation非正式協議的方法,並且我們要更新菜單項以顯示其複選標記以及通常的啓用/禁用。

+0

非常感謝您的回覆! :-) – 2012-03-23 03:41:14