NSMutableDictionary Plist读了几个

时间:2012-02-27 10:12:46

标签: iphone

我有一个包含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中的所有项目读入字典和数组?

1 个答案:

答案 0 :(得分:0)

您必须从字典中读出所有键/值并将其逐个添加到数组中。

要迭代字典中的所有键,请使用

[NSDictionary allkeys]

返回你的dict中的一个键数组。然后你可以迭代它来获取字典中的所有值。

如果您只想获取值,请使用

[NSDictionary allValues]

返回dict中的值数组。

您还可以考虑将数据放在这样的plist中

<key>auto1</key>
<array>
    <dict>
       ...
    </dict>
    <dict>
       ...
    </dict>
</array>

然后您可以使用

读取数组对象
auto1 = [dict objectForKey:@"auto1"]