0

我需要存储大量嵌套字符串并使用一些简单的格式(例如,'my.data.object.path')访问所有数据。

例如,如果我有以下结构:

- object1
- object2
-- nested1
-- nested2
--- nestednested1

例如,我需要检查是否object2.nested2.nestednested1存在。有时我也必须检查是否object2.nested2object2也存在。

使用嵌套的 NSMutableDictionary 对象是否有效,或者我应该从头开始编写一些更有效的数据存储模型?也许您可以建议针对此问题的现成的第 3 方解决方案。


我也在考虑将所有my.variable.path路径存储在一个 中NSMutableDictionary,因此我可以简单地设置变量[storage setObject:object forKey:@"my.variable.path"]并通过定义一个自定义方法来提取它们,该方法按点分割传入路径并尝试找到最短的路径块。

4

2 回答 2

1

字典是哈希映射的,它比数组快。

以及它嵌套的级别,您可以通过它访问它[dict valueForKeyPath.@"key1.key2...."]

最多 3 级就可以了,但如果你超出了这个范围,那么你可以考虑设计一个类结构来解决这个问题。

于 2013-01-16T17:35:45.040 回答
1

我会认真考虑为此使用 Core Data。

  • 它适用于大量数据。
  • 它的内存效率非常高,即使数据量很大,因为它会根据需要加载。
  • 您可以像在示例中一样访问它。
  • 它是内置的成熟技术。

涵盖它的主要 Apple 文档是Core Data Programming Guide
他们还有适用于 iOS 的核心数据教程,它更短一些,可以帮助您入门。

网上也有很多非 Apple 教程。我最喜欢的一本是 Ran Wenderlich:iOS 5 核心数据教程:入门。他还有其他关于 Core Data 的教程链接自那篇文章和此处

于 2013-01-16T17:46:08.637 回答