ArrayController从tableview中删除但不是CoreData

时间:2014-07-29 13:04:15

标签: objective-c core-data

我的设置非常简单。

我的MainWindow.xib中有一个NSTableView,其值绑定到ArrayController,如下所示:

enter image description here

ArrayController的设置如下:

enter image description here

enter image description here

我有一个TestModel.xcdatamodeld,其中包含一个实体Test,其中包含一个属性body,类型为string

然后我的窗口设置就像这样,带有一个文本字段和两个按钮来添加和删除数组控制器:

enter image description here

当我在tableview中添加或删除任何条目时,它可以正常工作。但是,当我关闭并重新启动我的应用时,这些更改并未同步到核心数据。

我做错了什么? 感谢

编辑:我也使用魔法记录。

1 个答案:

答案 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();
    }
}