我对此不确定,但确实将核心数据对象设置为 nil,将其从核心数据中删除。例如:
MyObject *obj = [MyObject fetchFromCoreDataWithID:objectID];
obj = nil;
这是否会从 Core Data 中删除该对象?
不,该对象仅代表您的 CoreData 存储中的内容。如果你想删除对象,你必须这样做:
NSError *saveError = nil;
[_managedObjectContext deleteObject:obj];
[_managedObjectContext save:&saveError];
不。要删除检查deleteObject。
您也可以创建您的NSManagedObject
而不将其添加到NSManagedObjectContext
. 那么你根本不需要删除它。有关详细信息,请参阅此内容:在 Core Data 中插入新的托管对象。