【问题标题】:CoreData - Making Objects That May Or May Not Be StoredCoreData - 制作可能存储或不存储的对象
【发布时间】:2017-08-24 22:48:58
【问题描述】:

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

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

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

【问题讨论】:

    标签: ios core-data design-patterns


    【解决方案1】:

    执行此操作的常用方法是创建主上下文的子上下文。您可以在该上下文中创建对象,如果要将更改保存到主上下文,然后保存主上下文。如果您不想保留更改,只需丢弃子上下文。

    【讨论】:

    猜你喜欢
    • 2018-04-20
    • 2023-03-06
    • 2014-05-07
    • 2014-03-18
    • 1970-01-01
    • 2021-11-14
    • 2012-02-26
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多