为NSManagedObject创建实例但不将其保存到上下文中

时间:2016-06-27 12:48:57

标签: ios objective-c core-data nsmanagedobject nsmanagedobjectcontext

我正在通过以下代码片段

为Employee对象创建一个实例
NSEntityDescription *entity = [NSEntityDescription entityForName: Employee
                                          inManagedObjectContext:self.managedObjectContext];
Employee *blioDownloadInfo = [[Employee alloc] initWithEntity:entity
                                               insertIntoManagedObjectContext:nil];

我为employee对象分配了id和name但是没有保存managedObjectContext。

我在不同实体的上下文中做了一些其他操作并保存了上下文。在这种情况下,我有2个问题。

1。首先,员工实例是否存在于上下文中?

2。上下文是否会丢失员工对象?

1 个答案:

答案 0 :(得分:3)

实体实例在上下文中不存在,因为您还没有添加它,这是因为您在nil中传递了insertIntoManagedObjectContext:nil

所以上下文不会失去它。如果你放弃对它的引用,你可能会失去它。

当您准备就绪后,请致电insertObject:,然后您在上下文中进行的任何保存都将涉及实体实例。