這是我的問題。我有一個名爲myPlist plist中,它看起來是這樣的:XCode:從plist讀取數據到NSmutablearray
<?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>1</key>
<array>
<string>Dog</string>
<string> empty </string>
<true/>
</array>
<key>2</key>
<array>
<string>Car</string>
<string> empty </string>
<false/>
</array>
<key>3</key>
<array>
<string>Table</string>
<string> empty </string>
<true/>
</array>
</dict>
它爲每個鍵三個值。兩個是字符串,一個是布爾值。我嘗試了'常用的方法'用plist填充nsmutablearray,所以我可以在tableview中顯示它,但NSMutableArray總是空的。我試過這第一個:
NSMutableArray *mutable = [[NSArray arrayWithContentsOfFile:
[[NSBundle mainBundle] pathForResource:@"myPlist" ofType:@"plist"]] retain];
然後我也試過這個,但它仍然返回0對象。
NSString *path = [[NSBundle mainBundle] pathForResource:@"myPlist" ofType:@"plist"];
NSDictionary *dict = [[NSDictionary alloc] initWithContentsOfFile:path];
NSArray *mutable = [NSArray arrayWithArray:[dict objectForKey:@"Root"]];
我總是用字典的plist中,這是我第一次有這種結構的,所以我覺得我做錯了什麼。順便說一句,我提到我是一個noob? :)
請幫忙。
NSDictionary *dogObject = [dict objectForKey:@"1"];
但我怎麼能數據傳送到一個NSMutableArray的,所以我可以在以後編輯數據:
編輯 感謝Rob,我可以用這條線現在讀出的數據?或者我可以使用字典保存編輯的數據?
你會得到正確的路徑嗎? NSLog路徑對象。 – 2012-02-25 19:22:58
'arrayWithContentsOfFile:'應該這樣做。你確定你使用的路徑是正確的嗎?嘗試使用NSLog將其打印出來,以便檢查它。或者爲路徑聲明一個單獨的NSString ivar並設置一個斷點,以便您可以直接在代碼中查看它。 – Wienke 2012-02-25 19:28:34
是的,路徑是正確的。我檢查了... – iPhoneNoob 2012-02-25 20:09:13