我有一个包含3个Dictionarys的PLIST。
http://dl.dropbox.com/u/9358444/auto1.plist
我尝试将其加载到字典中:
NSMutableDictionary *cars = [[NSMutableDictionary alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://dl.dropbox.com/u/9358444/auto1.plist"]];
此外,我将这些放入NSMutableArray
[auto1 addobject:cars];
但我无法读出这些信息。当我在tableview中点击这一行时它会崩溃。
它以这种方式工作,但我只读出第0项。我也想读出所有其他的。
NSMutableDictionary *cars = [[[NSMutableDictionary alloc]initWithContentsOfURL:[NSURL URLWithString:@"http://dl.dropbox.com/u/9358444/auto1.plist"]] objectForKey:@"Item 0"];
我是否必须为每个Item创建一个新的NSMutableDictionary,然后将其添加到NSMutableArray auto1?或者有没有办法将Plist中的所有项目读入字典和数组?
答案 0 :(得分:0)
您必须从字典中读出所有键/值并将其逐个添加到数组中。
要迭代字典中的所有键,请使用
[NSDictionary allkeys]
返回你的dict中的一个键数组。然后你可以迭代它来获取字典中的所有值。
如果您只想获取值,请使用
[NSDictionary allValues]
返回dict中的值数组。
您还可以考虑将数据放在这样的plist中
<key>auto1</key>
<array>
<dict>
...
</dict>
<dict>
...
</dict>
</array>
然后您可以使用
读取数组对象auto1 = [dict objectForKey:@"auto1"]