我已經花了整個昨天試圖解決這個問題,沒有運氣。這是我正在使用的代碼。將plist文件中的數據存儲到數組中
NSString *path = [[NSBundle mainBundle] pathForResource:@"file" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray *array = [NSArray arrayWithArray:[dict objectForKey:@"root"]];
for(int num = 0; num < 5; num++)
{
NSLog(@"my array:%@", array);
}
NSLog(@"items in my array: %lu", (unsigned long) [array count]);
下面是與im合作的plist文件的意見。
<plist version="1.0">
<dict>
<key>New item</key>
<string>hello</string>
<key>New item - 2</key>
<string>world</string>
<key>New item - 3</key>
<string>again</string>
<key>New item - 4</key>
<string>and</string>
<key>New item - 5</key>
<string>again</string>
</dict>
</plist>
此代碼不會返回null就像當我使用一個NSArray在NSDictionary的嘗試,但是當我運行控制檯不會打印出從plist中檢索到的任何數據。它只是打印出來:
my array:{}
my array:{}
my array:{}
my array:{}
my array:{}
items in my array: 0
如果我嘗試通過更改NSLog NSLog(@「我的數組:%@」,數組)打印字典;我明白了。
my array:(NULL)
my array:(NULL)
my array:(NULL)
my array:(NULL)
my array:(NULL)
items in my array: 0
您給出的plist文件的描述沒有一個名爲「root」的密鑰,也不包含任何數組。 –
你可以顯示打印'dict'的輸出嗎? –
我添加了一個NSLog打印列表計數,看看我的數組中有多少值添加到它的字典項目和出和輸出爲0.所以我相信我的問題是,我沒有任何對象我的陣列。我的plist是一本字典,裏面實際上有5個條目,但是對於這個問題,我只是輸入了一個條目。我將在原始問題和新輸出中編輯新代碼。 –