这是我的问题。我有一个名为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