使用CoreData

时间:2017-11-07 16:10:30

标签: ios objective-c core-data

我正在重构我的应用。目前,我将对象存储在.plist中以供进一步处理。它工作正常,但我认为现在是时候深入了解CoreData。

我的应用从网络服务中提取数据。这个数据我解析成单个对象。 我使用这些对象的属性来填充Tableviews。

在重构的过程中,据我所知,我可以直截了当地将整个对象存储为可转换的CoreData。

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

这里有最佳实践吗?我认为第一种方法可以更容易地进行重构,但我想知道在这种情况下我错过了CoraData的优点。就像表演一样?

3 个答案:

答案 0 :(得分:1)

不要将对象存储为可变形的。您将只获得DB,根据某些条件无法获取某些分离的对象。您将需要获取内存中的所有数据库,而不是使用它。因此它将与plist文件相同,您将浪费精力。只需使用具有适当属性的实体。 CoreData很快,您不必担心性能。

答案 1 :(得分:0)

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

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

答案 2 :(得分:0)

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