为 NSManagedObject 创建实例但不将其保存到上下文中
Posted
技术标签:
【中文标题】为 NSManagedObject 创建实例但不将其保存到上下文中【英文标题】:Creating instance for NSManagedObject but not saving it into context 【发布时间】:2016-06-27 12:48:57 【问题描述】:我正在通过以下代码 sn-p 为 Employee 对象创建一个实例
NSEntityDescription *entity = [NSEntityDescription entityForName: Employee
inManagedObjectContext:self.managedObjectContext];
Employee *blioDownloadInfo = [[Employee alloc] initWithEntity:entity
insertIntoManagedObjectContext:nil];
我已为员工对象分配了 ID 和名称,但尚未保存 managedObjectContext。
我正在使用不同实体在上下文中执行一些其他操作并保存了上下文。在这种情况下,我有 2 个问题。
1.首先,员工实例是否存在于上下文中?
2。上下文会丢失员工对象吗?
【问题讨论】:
【参考方案1】:实体实例在上下文中不存在是因为你没有添加它,这是因为你在insertIntoManagedObjectContext:nil
中传递了nil
。
所以上下文不能丢失它。如果您丢弃对它的引用,您可能会丢失它。
准备好后,调用insertObject:
,然后您在上下文中进行的任何保存都将涉及实体实例。
【讨论】:
以上是关于为 NSManagedObject 创建实例但不将其保存到上下文中的主要内容,如果未能解决你的问题,请参考以下文章
使用 Restkit 为 NSManagedObject 类创建实例
rdd.saveAsCassandraTable() 创建表但不将 rdd 项写入 Cassandra
ios核心数据:如何更改NSManagedObject而不将其保存到上下文中