2013-10-20 63 views
0

我想了解NSArrayController的是如何工作的?當NSArrayController綁定到數組時,爲什麼自動調用add/remove方法?

  • 當我創建一個NSMutableArray「employeeArray」舉辦的「人」的對象。 enter image description here
  • 我在GUI中使用NSArrayController並使用「employeeArray」綁定。 enter image description here
  • 我添加了兩個按鈕來添加和刪除「employeeArray」中的「Person」對象。這兩個按鈕都綁定了NSArrayController的「add:」和「remove:」。 enter image description here
  • 中序到添加/刪除在 「employeeArray」, 「人」 的對象時,做其他的事情,我添加了兩個方法:
    • (無效)insertObject:(人*)p inEmployeeArrayAtIndex:(NSUInteger)指數;
    • (void)removeObjectFromEmployeeArrayAtIndex:(NSUInteger)index;

問:

  1. 當我點擊add我什麼也沒做(編寫任何代碼),讓NSArrayController的知道上面的兩種方法,爲什麼它們被自動調用/刪除按鈕?發生了什麼?
  2. NSArrayController使用什麼add/remove方法?
  3. NSArrayController是否足夠聰明以識別這些方法?如果我隨機修改方法名稱,它會被正確調用嗎?

回答

0

我想,我終於明白:

遵循 「Key-Value Coding Accessor Methods模式」。 NSArrayController足夠聰明,可以自動識別「插入」「刪除」方法。

如果您更改方法名稱而不遵循存取器模式。不起作用。

相關問題