Cra*_*gly 1 cocoa core-data objective-c cocoa-bindings
我有一个基于Mac窗口的应用程序使用CoreData和Cocoa绑定将CoreData实体绑定到NSArrayController以在NSCollectionView中显示.
我的控制器(设置为视图文件所有者的视图)上有一个名为managedObjectConext的属性.在awakeFromNib方法中,我尝试将managedObjectContext(MOC)属性设置为:
managedObjectContext = [(MyApplicationAppDelegate *)[[NSApplication sharedApplication] delegate] managedObjectContext];
managedObjectContext = [[NSApp delegate] managedObjectContext];
Run Code Online (Sandbox Code Playgroud)
我还将NSArrayControllers MOC绑定配置为'Files Owner'MOC属性,并将属性绑定配置为我的CoreData实体的绑定.
但是,每次我在它即将进行绑定之前运行应用程序时,我都会收到以下错误消息:
Cocoa如果没有托管对象上下文,则无法执行操作
我已经登录控制台检查MOC是不是nil,我认为它不是因为这是来自MOC对象的NSLog:myMoc = NSManagedObjectContext:0x10052f9c0
我现在完全被难过,并且感到沮丧的是,应该如此简单的事情占用了我的大部分时间!任何帮助将不胜感激.
绑定是在nib中定义的,因此如果nib不知道控制器的managedObjectContext属性,那么绑定也不会.
在接口编辑器中,您需要将数组控制器绑定面板中的managedObjectContext键绑定到特定上下文.
对一个上下文应用程序执行此操作的最简单方法是将app delegate中的managedObjectContext属性标记为IBOutlet,以便它显示在界面编辑器中.然后直接从阵列控制器的面板绑定它.
老实说,我不知道他们为什么不在Xcode模板本身那样做.你经常这么做.
| 归档时间: |
|
| 查看次数: |
3367 次 |
| 最近记录: |