1

我在使用 Core Data 时遇到问题。我有一个表格视图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)

viewcontroller2反映变化;中的表格视图也是如此viewcontroller1。但是,当我退出 iOS 模拟器并再次运行它时,我只能获得编辑过程之前的数据。帮助?

4

1 回答 1

0

很可能托管对象上下文没有被delegate. 每个托管对象都有一个指向托管对象上下文的链接,而不是从 中获取它,delegate因此您可以执行以下操作:

[self.editModel.managedObjectContext save:&error]
于 2013-07-24T14:24:28.883 回答