3
我有一個應用程序需要從我的子視圖訪問模型數據。我一直在使用綁定來跨視圖傳遞數據;然而,綁定到self
似乎導致保留週期(dealloc永遠不會被調用)。什麼時候應該刪除綁定,如果不在dealloc方法中?謝謝。如何防止綁定到自己導致的保留週期
P.S.我知道binding to a proxy object controller的方法,但我想盡可能避免使用它。
這裏是我一直在做的一個例子:
// Top-level Project view
@interface ProjectViewController : NSViewController {
FoldersView *foldersView;
}
@property (strong) NSObjectController *projectObjectController; // holds Project instance
end
// Displays folders
@interface FoldersView : NSView {
FolderView *folderView;
}
@property (weak) NSObjectController *projectObjectController; // binded from parent
@property (strong) NSArrayController *foldersArrayController; // binded to project.folders
@end
// Displays selected folder
@interface FolderView : NSView
@property (weak) NSArrayController *foldersArrayController; // binded from parent
@property (strong) NSObjectController *folderObjectController; // binded to folders.selection
@end
這看起來不錯。它工作嗎? – jrturton
是的,它確實工作正常。但我認爲綁定正在導致一個保留週期,以防止視圖被釋放。如果不在dealloc中,我們應該何時刪除綁定?謝謝。 – panupan
如果你有這個問題,我會建議編輯這個問題 - 這不是你最初的問題。 – jrturton