在我的基于NSDocument的应用程序中,我的文档子类在init期间创建并保留“parameters”属性,当然在dealloc期间释放它。此对象是文档属性和设置的集合。
我有一个附有工具栏的DocumentWindowController。其中一个工具栏项是控制视图样式的段控件。此控件的选定标记在nib中绑定到:
self.document.parameters.itemsViewStyle
问题在于,当我关闭文档时,我的DocumentWindowController被取消分配,然后是我的Document,它释放了它的DocumentParameters对象。
An instance 0x6080000e4a80 of class DocumentParameters was deallocated while
key value observers were still registered with it. Current observation info:
<NSKeyValueObservationInfo 0x610000050dd0> (<NSKeyValueObservance
0x6080000cc6a0: Observer: 0x6080000cc630, Key path: itemsViewStyle, Options:
<New: NO, Old: NO, Prior: NO> Context: 0x0, Property: 0x61800004a080>
看起来DocumentWindowController的工具栏应该打破与DocumentParameters的绑定,但它没有这样做。
这里发生了什么?