我真的很想弄清楚我的托管对象上下文消失在哪里。
我最初是在我的应用程序委托中实例化它,然后将它传递给 NSWindowController 中的保留属性,如下所示:
self.TPWC = [[TestPanelWindowController alloc] initWithWindowNibName:@"TestPanel"];
self.TPWC.managedObjectContext = self.managedObjectContext;
self.TPWC.persistentStoreCoordinator = self.persistentStoreCoordinator;
[TPWC.window makeKeyAndOrderFront:nil];
然后我有一个按钮,应该实例化一个NSManagedObject
并将其插入到托管对象上下文中,如下所示:
NSManagedObject *newInstanceOfSomeEntity =
[NSEntityDescription insertNewObjectForEntityForName:@"SomeEntity"
inManagedObjectContext:self.managedObjectContext];
至此,self.managedObjectContext
不知何故变成了nil。
我已经在 windowDidLoad 中插入了一个断点,我可以确认此时我们确实有一个有效的 an 实例NSManagedObjectContext
,但它在 viewDidLoad 和尝试插入托管对象之间以某种方式变为 nil 。
我尝试创建一个自定义初始化程序来设置,NSManagedObjectContext
但它仍然为零。
Core Data 对我来说很新,我很难理解出了什么问题。