要从核心数据中删除对象o
,是否可以使用对象自己对托管对象上下文managedObjectContext
的引用?
[o.managedObjectContext deleteObject:o];
答案 0 :(得分:2)
苹果documentation说好了。
说明:
deleteObject:
上呼叫managedObjectContext
时,我们会从managedObjectContext
标记要删除的对象。当我们在上下文中调用save:
时,会发生实际的删除。[o.managedObjectContext deleteObject:o]
实际上告诉编译器将消息deleteObject:
发送到对象o.managedObjectContext
,该对象即使在删除o
后仍然有效。答案 1 :(得分:0)
是的,您可以这种方式删除对象,但删除后必须保存。
[self.managedObjectContext deleteObject:thisItem];
NSError *savingError;
if ([self.managedObjectContext save:&savingError]){
NSLog(@"saved Ok");
}else{
NSLog(@"error %@", savingError);
}