核心数据不持久



我的核心数据有问题。我有一个表视图viewcontroller1,它是从一个数组中填充的,该数组是用我的核心数据模型中的数据填充的。当一个单元格被选中时,它会向viewcontroller2进行推送,在那里您可以查看保存的数据。从那里,我有一个名为"编辑"的按钮,当选中时,它会对viewcontroller3进行模态分段,在那里您可以编辑数据。这是我保存编辑数据的代码。

//editModel
[self.editModel setValue:self.editNameTextField.text forKey:@"name"];
[self.editModel setValue:self.editTextView.text forKey:@"text"];
[self.editModel setValue:[NSDate date] forKey:@"date"];
NSError *error;
if (![[self.delegate managedObjectContext] save:&error])
{
    NSLog(@"Can't save the edit: %@", [error localizedDescription]);
}
if (self.delegate)
    [self.delegate dismissEdit:self];
else
    NSLog(@"There is no delegate");

然而,每当我尝试调用它时,我都会得到一个NSLog:Can't save the edit: (null)

CCD_ 5反映了这一变化;CCD_ 6中的表视图也是如此。但是,当我退出iOS模拟器并再次运行它时,我只会在编辑过程之前获得数据。帮助

delegate很可能没有提供托管对象上下文。每个托管对象都有一个到其添加到的托管对象上下文的链接,而不是从delegate中获取它,因此您可以执行以下操作:

[self.editModel.managedObjectContext save:&error]

最新更新