你应该把所有东西存放在CoreData中吗?

时间:2014-03-11 14:15:26

标签: ios objective-c core-data

我正在编写一个使用核心数据的应用程序,我用它来存储合理数量的用户生成数据。

但是,该应用程序还有一些设置...例如用户名,年龄。

我想知道在CoreData中存储设置信息是否更好,或者只是将这些信息存储在UserDefaults中?

4 个答案:

答案 0 :(得分:1)

回答标题:否

(补充:特别是不大量的二进制数据)

答案 1 :(得分:0)

这对程序员堆栈交换来说真的是一个问题,但我快速过去了。

核心数据功能强大,但这种功能需要付出代价。它增加了复杂性和间接性。

我认为分别考虑所有模型对象是件好事。找出对该对象最有意义的东西。这并不是说让混乱规则,模式使代码更容易理解。我认为将某些内容转换为现有模式并不好,因为您希望应用中的所有内容都适合该模式。

所有这一切。除非您的应用程序存储用户列表,否则我认为使用更简单的NSUserDefaults方法会更好。

答案 2 :(得分:0)

核心数据是一件大事,不是很简单。我希望您首先考虑您的数据模型。如果它的"大"足够你想考虑扩展它可能在未来我会建议你使用核心数据。

现在我的个人意见:

我并不是Core Data的粉丝。我主要使用SQlite-Database。如果你需要更多,你是一个初学者结账parse.com。它以完整的语言提供完整的后端服务。看看吧..

答案 3 :(得分:0)

如果您要保存凭据或其他一些受保护的数据,那么这是最佳做法:

iOS: How to store username/password within an app?

对于临时数据和大多数其他平面数据,请使用UserDefaults ...

当您拥有大量记录或链接记录时,使用CoreData作为更多结构数据存储,通常用于更复杂的数据结构......