objective c何时使用NSDictionary而不是NSArray

gdu*_*ubs 2 xcode objective-c nsmutablearray nsmutabledictionary ios

关于我应该使用哪两个,我处于两难境地.我将通过一个宁静的API检索一组数据(返回json),我不知道在我在UI视图表上显示它之前应该如何存储它们.

例如.

{"Events":[{"Id":5,"Name":"Event 1 2013"},{"Id":6,"Name":"Event 2 2013"}]}
Run Code Online (Sandbox Code Playgroud)

我一直在阅读教程,有些人会使用NSMutableArrays而有些人会使用NSMutableDictionary.

我该怎么办呢?

顺便说一句:我在UI视图表上显示数据,在点击时会将用户重定向到另一个页面,如果他们决定返回则必须显示上一个视图而不重新加载(使用UinavigationController)

谢谢!

编辑:

另外,只是为了让您了解我正在尝试做什么.我正在尝试按照本教程将我分成的数据拆分为节标题.在本教程中,它使用的是NSDictionary.

http://www.icodeblog.com/2010/12/10/implementing-uitableview-sections-from-an-nsarray-of-nsdictionary-objects/

如果我使用NSArray,会影响性能吗?

Mas*_*oke 5

在NSArray中 - 集合中的每个项都有一个整数索引,因此对项有明确的顺序.当您从NSARRY检索/替换/删除存储的对象时,您需要指定该存储对象的相应对象索引.

NSDictionary - 源自名为entry的词.每个条目包含一个表示键的对象和另一个作为键值的对象.在字典中,键是唯一的.也就是说,单个字典中没有两个键是相等的(由isEqual确定:).当你从字典中检索对象时,你需要指定objectForKey的键值 每当你正在解析plist然后NSDictionary这将是理想的.您可以在这里参考苹果的文档,以获得有关NSDictionary.Happy编码的更多解释:)