ios - 将数据存储在 NSUserdefaults 或 coredata 中?

标签 ios core-data nsuserdefaults nskeyedarchiver nskeyedunarchiver

  1. 我需要在我的应用程序中存储字典它的生命周期应该与存储在 NSUserDefaults 中的数据的生命周期相同。

  2. 实现的方法很少,但我正在考虑核心数据NSKeyedArchieverNSUserDefaults

  3. 我会经常更新这些信息,而且字典不会是一个大数据

  4. 我的问题是哪种方法最好?因为从 NSUserDefault 存储和检索是一项成本高昂的操作。

最佳答案

- Core Data 似乎矫枉过正,实际上是为了管理更大量的数据。这将需要您使用持久存储、上下文、模型等来维护整个核心数据堆栈。

- NSKeyedArchiver 不适合频繁更改,而且代码肯定比 NSUserDefaults 多得多。

+ NSUserDefaults 最适合您描述的场景。它是一个简单、透明且经过认可的 API,具有与之关联的快速底层数据库,可以通过 iCloud 等进行同步。

关于ios - 将数据存储在 NSUserdefaults 或 coredata 中?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25357908/

相关文章:

ios - 为什么要使用 registerDefaults : instead of setValue:forKey:?

ios - NSObject 编码后不会与 NSUserDefaults 一起保存

ios - 符合 HIPAA 标准的应用程序,使用加密核心数据与核心数据属性加密

ios - Swift:将一个对象数组和另一个对象数组保存到 NSUserDefaults 中

ios - 复制粘贴后如何将光标放在格式化数字的末尾?

iphone - 以多次触摸开始的触摸给出了错误的位置

ios - 为什么在尝试删除 TableView ios 中的部分时出现断言错误

ios - 警告尝试在演示或解散过程中从 View Controller 中解散

cocoa - 暂时禁用NSArrayController的filterPredicate,或者咨询ManagedObjectContext?

core-data - 为什么将删除的行作为 NSFetchedResultsControllerDelegate 处理时 NSTableView 会崩溃?