2012-02-27 82 views
0

我有一個PLIST,裏面包含3個Dictionarys。NSMutableDictionary 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"]; 

我必須創建爲每個項目一個新的NSMutableDictionary,然後把它添加到NSMutableArray中AUTO1?或者有沒有辦法將Plist中的所有項目讀入字典和數組?

回答

0

您必須從字典中讀出所有鍵/值,並將其逐個添加到您的數組中。

要遍歷字典中的所有鍵,使用

[NSDictionary allkeys] 

返回鍵在你的字典的數組。然後,您可以迭代它以獲取字典中的所有值。

如果你想只得到值,使用

[NSDictionary allValues] 

返回值在你的字典的數組。

你也可以考慮把你的數據的plist這樣

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

然後你就可以讀取使用

auto1 = [dict objectForKey:@"auto1"] 
+0

由於數組對象。建議建立一個新的plist。它效果很好。 – halloway4b 2012-02-27 10:39:31