我有一个应用程序需要从子视图访问模型数据。我一直在使用绑定来跨视图传递数据;然而,绑定到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
答案 0 :(得分:1)
绑定是从MVC三位一体中删除C部分(样板代码)的首选方法。所以你处理这个问题的方法是正确的。