我有一个现有的 iOS 项目,我正试图将其更改为使用 CoreData 而不是 Keyed Archiving。在我现有的项目中,我经常在用户关闭模态视图时创建对象。然后我对该对象进行一些验证,如果一切正常,我将继续存储它。但是,如果该对象被确定为无效,我只需将其丢弃并向用户抛出一条验证消息。
当我开始使用 Core Data 时,我对这种模式感到紧张。我不想继续在我的数据库中创建“临时”对象,只是转身删除它们。因此,我创建对象而不将它们分配给 NSManagedObjectContext。然后,当我确定事物有效时,才将其分配给上下文。
最后的问题是:这是一种有效的方法吗?事情通常是这样做的吗?我担心随着我对托管对象的使用变得越来越复杂,实体之间的关系越来越多,我可能会后悔这个选择。我是否不必要地让自己变得更难了?
最佳答案
一种常见的方法是创建主上下文的子内容。你可以在那个上下文中创建你的对象,如果你想保存对主上下文的更改然后保存主上下文。如果您不想保留更改,只需丢弃子上下文即可。
关于ios - CoreData - 制作可以存储也可以不存储的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872034/