ios - CoreData - 制作可以存储也可以不存储的对象

标签 ios core-data design-patterns

我有一个现有的 iOS 项目,我正试图将其更改为使用 CoreData 而不是 Keyed Archiving。在我现有的项目中,我经常在用户关闭模态视图时创建对象。然后我对该对象进行一些验证,如果一切正常,我将继续存储它。但是,如果该对象被确定为无效,我只需将其丢弃并向用户抛出一条验证消息。

当我开始使用 Core Data 时,我对这种模式感到紧张。我不想继续在我的数据库中创建“临时”对象,只是转身删除它们。因此,我创建对象而不将它们分配给 NSManagedObjectContext。然后,当我确定事物有效时,才将其分配给上下文。

最后的问题是:这是一种有效的方法吗?事情通常是这样做的吗?我担心随着我对托管对象的使用变得越来越复杂,实体之间的关系越来越多,我可能会后悔这个选择。我是否不必要地让自己变得更难了?

最佳答案

一种常见的方法是创建主上下文的子内容。你可以在那个上下文中创建你的对象,如果你想保存对主上下文的更改然后保存主上下文。如果您不想保留更改,只需丢弃子上下文即可。

关于ios - CoreData - 制作可以存储也可以不存储的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45872034/

相关文章:

c# - 使用自定义规则进行动态验证

c# - 你如何创建静态工厂?

ios - xcode - 没有 ARC 的 UIPickerView

ios - 将KVO添加到核心数据的类别属性

ios - 从后台恢复后访问核心数据 NSManagedObject 会使应用程序崩溃

xcode - 如何在Xcode 4.0中为核心数据属性设置默认值?

r - 如何识别R中列中的模式并为所述模式提供身份

ios - 手动 KVO 通知导致串行队列崩溃

android - 客户端处理程序无法识别我受信任的 API 证书

cocoa-touch - 是否有带有标签和文本字段的可重用 UITableViewCell?