我的设置非常简单。
我的MainWindow.xib中有一个NSTableView,其值绑定到ArrayController,如下所示:
ArrayController的设置如下:
我有一个TestModel.xcdatamodeld,其中包含一个实体Test,其中包含一个属性body
,类型为string
。
然后我的窗口设置就像这样,带有一个文本字段和两个按钮来添加和删除数组控制器:
当我在tableview中添加或删除任何条目时,它可以正常工作。但是,当我关闭并重新启动我的应用时,这些更改并未同步到核心数据。
我做错了什么? 感谢
编辑:我也使用魔法记录。
答案 0 :(得分:0)
您是否根据上下文保存了更改?
类似的东西:
NSError *error = nil;
NSManagedObjectContext *managedObjectContext = self.managedObjectContext;
if (managedObjectContext != nil) {
if ([managedObjectContext hasChanges] && ![managedObjectContext save:&error]) {
// Replace this implementation with code to handle the error appropriately.
// abort() causes the application to generate a crash log and terminate. You should not use this function in a shipping application, although it may be useful during development.
NSLog(@"Unresolved error %@, %@", error, [error userInfo]);
abort();
}
}