2010-10-23 52 views
2
  • 將彈出菜單綁定到陣列控制器的路徑selection.type工作正常。
  • 將彈出菜單綁定到路徑爲currentDocument.arrayController.selection.type的文檔控制器只能單向工作(選擇中的更改不會傳播到彈出菜單)。

如何通過將彈出式菜單綁定到適當的數組控制器(取決於焦點文檔)來實現類似於檢查器窗口的功能?綁定到陣列控制器在另一個筆尖檢查器窗口

回答

0

這是一個醜陋的解決方法,任何人都可以使用這個:NSArrayController子類,以便其選擇始終返回其所有內容,自己跟蹤NSMutableSet中的選定項,並將數組控制器的內容集綁定到該項。 (出於某種原因,綁定數組控制器的內容集適用於跨越筆尖,但綁定彈出式菜單的選擇索引不會。)

0

它們是否是相同的數組控制器,還是Inspector窗口使用恰好由同一個數組提供的獨立數組控制器?

兩個獨立的陣列控制器將有兩個單獨的選擇。要解決這個問題,請爲擁有最終數組的同一對象提供用於選擇的NSIndexSet的第二個屬性,並將兩個數組控制器的selectedIndexes綁定到該屬性。

對於彈出式菜單的單個(不是多個)選擇使用NSIndexSet似乎有點愚蠢,但是數組控制器是通用的。

+0

只有一個數組控制器。 (呃,有和打開的文檔一樣多的東西。)問題是爲什麼直接綁定到它(因此需要將檢查器窗口放在文檔的筆尖中,meh)起作用,而通過文檔控制器和'currentDocument '不。 – andyvn22 2010-10-23 15:11:23

相關問題