【发布时间】:2014-09-17 21:10:44
【问题描述】:
我已经尝试解决这个问题 2 天了。当我尝试保存时,我不断收到错误消息。
//self.data is NSManagedObject. kAppDelegate.moc is the managed object context.
self.data = [NSEntityDescription insertNewObjectForEntityForName:@"Data"
inManagedObjectContext:kAppDelegate.moc];
[self.data setValue:[NSNumber numberWithBool:NO] forKey:@"isit"];
[self.data setValue:@"" forKey:@"name"];
NSError *error;
if(![self.data.managedObjectContext save:&error])
{
NSLog(@"Save did not complete successfully. Error: %@",
[error localizedDescription]);
}
当我运行它时,它会出现在控制台中:
“CoreData:错误:从上下文中删除托管对象 0x10935d4c0 (0x10935d420)。”
还有这个:
保存未成功完成。错误:(空)
我无法弄清楚为什么会发生这种情况,或者为什么错误是“null”。
【问题讨论】:
-
您从其上下文中删除了一个对象并试图更改它。您不能更改孤立对象。先解决这个问题,然后我们才能整理存档。
-
如果这是一个愚蠢的问题,我很抱歉,但我无法检测到我在哪里做的。你在这段代码中看到了吗?
-
嗯……我建议在你的项目中搜索对
deleteObject:的调用。 -
感谢您的帮助,但我想通了。每次我访问它时,我的 managedObjectContext 都会被删除,然后被替换。很难解释,但我只是编码错误
-
如果您认为对他人有帮助,请添加您自己的答案或删除问题;-)
标签: ios core-data nsmanagedobjectcontext