Objective c ArrayController正在从tableview而不是CoreData中删除
我有一个非常简单的设置 我在MainWindow.xib中有一个NSTableView,它的值绑定到ArrayController,如下所示: ArrayController的设置如下: 我有一个TestModel.xcdatamodeld,它包含一个实体Test和一个属性,Objective c ArrayController正在从tableview而不是CoreData中删除,objective-c,core-data,Objective C,Core Data,我有一个非常简单的设置 我在MainWindow.xib中有一个NSTableView,它的值绑定到ArrayController,如下所示: ArrayController的设置如下: 我有一个TestModel.xcdatamodeld,它包含一个实体Test和一个属性,主体,类型为字符串 然后,我的窗口设置如下,带有一个文本字段和两个按钮,可在阵列控制器中添加和删除: 在tableview中添加或删除任何条目时,都可以正常工作。但当我关闭并重新启动应用程序时,这些更改不会同步到核心
主体
,类型为字符串
然后,我的窗口设置如下,带有一个文本字段和两个按钮,可在阵列控制器中添加和删除:
在tableview中添加或删除任何条目时,都可以正常工作。但当我关闭并重新启动应用程序时,这些更改不会同步到核心数据
我做错了什么?
谢谢
编辑:我也在使用Magic Record。您是否使用上下文保存更改 比如:
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();
}
}
哦,顺便说一句,我正在使用神奇的记录,这可能会使事情复杂化?试着用核心数据生成一个简单的项目,看看它生成了什么代码。如果您使用Magic Record,请查看如何保存上下文。基本上,这些节省首先在内存中完成,但是为了使它们持久化,我们需要保存到上下文中