【发布时间】:2012-04-27 08:07:07
【问题描述】:
我需要创建一个 NSManagedObject 而不保存它,我该怎么做?
我想这样做的原因是应用程序有一个设置,用户可以在其中输入他们的详细信息,但是我只想在他们完成设置后保存对象(他们可以选择取消,在这种情况下对象需要被丢弃而不被保存,这就是我不想立即插入的原因。
我尝试过在没有上下文的情况下插入一个,但应用程序崩溃了。
我尝试了以下方法:
GuestInfo *guest;
guest = (GuestInfo *)[NSEntityDescription insertNewObjectForEntityForName:@"GuestInfo" inManagedObjectContext:nil];
这会导致崩溃并显示以下错误消息:
'NSInternalInconsistencyException', reason: '+entityForName: could not locate an NSManagedObjectModel for entity name 'GuestInfo''
【问题讨论】:
-
为什么不向我们展示您的代码?
-
如果你不需要持久化这个对象,你实际使用它的目的是什么?你不能只创建另一个具有相同接口的对象吗?
-
如果你想插入一个 NSManagedObject 那么你需要有一个上下文来把它放进去。但是,我同意@Paul.s
-
我想这样做的原因是应用程序有一个设置,用户可以在其中输入他们的详细信息,但是我只想在他们完成设置后保存对象(他们可以选择取消,在这种情况下,对象需要被丢弃而不被保存,这就是我不想立即插入它的原因。
标签: ios objective-c core-data nsmanagedobject nsmanagedobjectcontext