我試圖讀取plist文件到使用initWithContentsOfFile
NSArray
描述hereNSArray的initWithContentsOfFile返回nil
我的代碼看起來像這樣
NSBundle *bundle = [NSBundle mainBundle];
NSString *plistPath = [bundle pathForResource:
@"routes" ofType:@"plist" ];
routes = [[NSArray alloc] initWithContentsOfFile:plistPath ];
NSLog:(@"contents of myArray %@", routes);
routes.plist
有數組和字符串2的完美結構簡單
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Root</key>
<array>
<string>1</string>
<string>2</string>
</array>
</dict>
</plist>
一切似乎都很好。 plistPath
使用正確的值進行初始化,這意味着文件被複制到捆綁包並可以被使用。但routes = [[NSArray alloc] initWithContentsOfFile:plistPath ];
返回0x0
值。我認爲這相當於nil
我的代碼有什麼問題?
男人,你是對的。但在Xcode可視化編輯器中,我選擇了數組類型!查看我添加的屏幕截圖。這是一個Xcode4錯誤? –
沒有。你有一個名爲「Root」的鍵(這表明你的plist是一個「NSDictionary」)的數組對象。您可以使用不同的鍵名稱在該級別添加其他對象。 –
但是沒有選擇,Xcode默認創建字典,並且不能在可視化編輯器中更改它。只有通過編輯plist作爲源文件。但好的,現在我知道了。謝謝! –