我在浮動窗口中有一個NSTableView,它動態綁定到與最前面的文檔窗口對應的NSArrayController實例的arrangedObjects
屬性,其代碼如下:NSTableColumn將值綁定到最前面的窗口的NSArrayController在窗口更改上拋出異常
NSArrayController *documentSpecificArrayController; // properly set elsewhere
NSTableColumn *tableColumnToBind; // properly set elsewhere
[tableColumnToBind unbind:NSValueBinding];
[tableColumnToBind bind:NSValueBinding
toObject:documentSpecificArrayController
withKeyPath:@"arrangedObjects"
options:[NSDictionary dictionaryWithObjectsAndKeys:
[NSNumber numberWithBool:YES],
NSContinuouslyUpdatesValueBindingOption,
nil]];
只要表示的數組/表視圖是空的,事情工作正常;一個文檔內的表視圖/表示數組上的所有各種操作都可以正常工作。如果從具有非空的表示數組的文檔切換到表示數組爲空的文檔,則拋出層出不窮的異常。
我是否錯過了在切換窗口時需要乾淨切斷綁定的操作?還有別的嗎? (是否有一些我省略的具體信息可以幫助診斷我的錯誤?)
「在其他地方正確設置」[引用需要] :-) –
@Joshua Nozzi:我知道有人*會問。 :)數組控制器是文檔類的屬性,它是新的最頂層窗口的委託,所以它就是這樣的;表列包含在連接到發生此代碼的類的IBOutlet的表視圖中。我已經證實,獨立於此異常投擲,兩個變量都已設置並按預期更改。 – Isaac