嵌套的NSMutableDictionary效率和替代方案

时间:2013-01-16 17:27:04

标签: objective-c nsmutabledictionary performance

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

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

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

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

使用嵌套的NSMutableDictionary对象是否有效,还是应该从头开始编写更高效的数据存储模型?也许你可以建议使用现成的第三方解决方案解决这个问题。


我还在考虑将所有my.variable.path路径存储在一个NSMutableDictionary中,因此我可以设置变量只需执行[storage setObject:object forKey:@"my.variable.path"]并通过定义一个自定义方法来提取它们点,并试图找到最短的路径。

2 个答案:

答案 0 :(得分:1)

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

嵌套的级别是[dict valueForKeyPath.@"key1.key2...."]

可以访问的级别

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

答案 1 :(得分:1)

我会认真考虑使用核心数据。

  • 它适用于大量数据。
  • 它非常节省内存,即使有很多数据,因为它加载它 需要。
  • 您可以像在示例中一样访问它。
  • 内置成熟技术。

涵盖它的主要Apple文档是Core Data Programming Guide 它们还有Core Data Tutorial for iOS,它有点短,让你开始。

网上还有很多非Apple教程。我最喜欢的一个是Ran Wenderlich:Core Data on iOS 5 Tutorial: Getting Started。他还有关于该文章和here链接的核心数据的其他教程。