【发布时间】:2013-07-24 22:24:28
【问题描述】:
我在使用 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 模拟器并再次运行它时,我只能获得编辑过程之前的数据。帮忙?
【问题讨论】:
-
委托是否返回托管对象上下文?
-
@Wain - 是的。
-
检查过?试试
[self.editModel.managedObjectContext save:&error] -
@Wain - 就是这样。谢谢!
标签: ios core-data nsmanagedobjectcontext