【问题标题】:Store objects with CoreData使用 CoreData 存储对象
【发布时间】:2018-04-20 02:59:23
【问题描述】:

我正在重构我的应用程序。目前,我将对象存储在 .plist 中以供进一步处理。它运行良好,但我认为是时候深入研究 CoreData。

我的应用从网络服务获取数据。我将这些数据解析为单个对象。 我使用这些对象的属性来填充 Tableview。

在重构时,据我所知,我可以直接将整个对象存储为使用 CoreData 的可转换对象。

我还可以定义一个实体,其属性类似于我的对象的属性。

这里有什么最佳实践吗?我认为第一种方法使重构更容易,但我认为我在这种情况下错过了 CoraData 的优势。可能像性能?

【问题讨论】:

  • 从性能角度来看,最佳做法是在显示数据时尽可能少地处理数据。

标签: ios objective-c core-data


【解决方案1】:

不要将对象存储为可变形的。您将只获得数据库,其中无法根据某些标准获取一些分离的对象。您将需要获取内存中的所有数据库,然后使用它。所以它将与 plist 文件相同,您将浪费精力。只需使用具有适当属性的实体。 CoreData 速度很快,您无需担心性能。

【讨论】:

    【解决方案2】:

    Transformables 通常只适用于 Core Data 不知道如何表示的属性。它们允许您使用二进制数据 blob 作为后备,但它们从来都不是理想的。如果您绝对绝对不需要根据属性值过滤或排序获取请求,也可以使用它们。在那种情况下,它们仍然不是很好,因为还有额外的不必要的工作。

    如果您需要(或可能有一天需要)根据属性值过滤或排序获取请求,请不要使用可转换的。除了检查值是否为零等极其基本的东西之外,它们不能用于任何目的。

    【讨论】:

      【解决方案3】:

      好吧,我欠你的。 我问了一个问题而没有正确调查事情。 真正的答案是了解 NSManagedObjects。 很抱歉打扰您

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-03-18
        • 2023-03-06
        • 1970-01-01
        • 1970-01-01
        • 2011-03-30
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多