【问题标题】:Storing Mutable Dictionary in iOS在 iOS 中存储可变字典
【发布时间】:2015-03-11 05:23:59
【问题描述】:

我正在我的 iOS 应用程序中创建一个包含数千个字符串的字典。该应用程序非常频繁地对其进行写入和读取(每当用户刷新提要时 100 次),因此速度很重要。此外,它需要在会话之外保存。

我已经尝试过 NSUserDefaults,但它似乎应该用于不可变字典。钥匙串似乎也不适合使用。

我应该用什么来存储字典?

【问题讨论】:

  • 我认为将它保存在 NSUserDefaults 中是可以的,您在启动时加载它并创建它的可变副本。您获取和添加的频率与存储无关。
  • 100 次阅读字典并不多。只需构建一个 nsmutabledictionary 并将其粘贴到您可以引用的地方。
  • 或者你可以试试save nsdictionary to .plist file

标签: ios dictionary storage


【解决方案1】:

创建一个可变字典并将其作为实例变量保存在控制器类中,用于刷新/添加/编辑信息。当你刷新时速度不是一个因素,因为字典不像数组那样移动,你可以通过它的键直接访问值,你不必遍历它之前的值。 正确选择您的数据结构,就好像您想以这样的方式存储您的字符串,在刷新键后将是相同的但您将编辑值,NSMutableDictionary 是您的朋友,否则您可以使用 NSSet 如果您不想订购但不想要任何相同的记录或 NSMutableArray。

[编辑] 如果您想在应用程序会话之外存储数据,那么我会说使用 核心数据,它的轻量级,速度非常快,它不是数据库,而是一种持久存储数据。 (非挥发性)。 您也可以使用 SQLite,但核心数据速度更快,重量更轻。

【讨论】:

  • 如果它是一个实例变量,它会在应用退出时被删除,对吧?抱歉,如果我不清楚,我需要在每个会话之后存储它。
  • 请检查编辑
  • 我之前没有使用过Core Data,但我会检查一下。谢谢!
  • 我正在发布一个教程链接,可能会对您有所帮助。 code.tutsplus.com/tutorials/…
猜你喜欢
  • 1970-01-01
  • 2014-09-05
  • 1970-01-01
  • 2017-11-16
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2021-02-05
  • 1970-01-01
相关资源
最近更新 更多