2012-07-11 120 views
0

我想讀,我也需要寫一個plist。 。從plist讀到NSArray

到目前爲止,我想簡單地讀取其內容

這裏是我的appSettings.plist:

enter image description here

NSBundle* bundle = [NSBundle mainBundle]; 
NSString* plistPath = [bundle pathForResource:@"appSettings" ofType:@"plist"]; 
NSDictionary *tmp = [[NSDictionary alloc] initWithContentsOfFile:plistPath]; 

我試着這樣做:

NSArray *mruItems = [[NSArray alloc] initWithArray:[tmp objectForKey:@"lastSearches"]]; 

但它會引發錯誤。我對[tmp objectForKey:@「lastSearches」]類型進行的檢查顯示這不是NSArray ...

如何將內容讀入我的NSArray?

謝謝!

(我很想有編寫過一些信息)

+0

我可能已經做了lastSearches一個字典,而不是一個數組... – Ted 2012-07-11 12:45:22

回答

2

如果你看上面的截圖,你會發現很明顯「lastSearches」是一個字典,而不是一個列表。您可以嘗試將其中的類型切換爲數組類型,它應該適合您。

另一種解決方案是鍵遍歷該詞典:

NSDictionary *lastSearches = [tmp objectForKey:@"lastSearches"]; 
for (NSString *key in lastSearches.allKeys) 
{ 
    NSString *value = [lastSearches objectForKey:key]; 
} 

請注意,這不會是爲了,你可能會有迭代之前進行排序。

1

事實上它不是一個數組,但一本字典(看你的形象)。