[英]Load NSMutableDictionary from plist
我正在尝试从Plist加载NSMutableDictionary。 我的结果始终为NULL。
列表
<?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">
<array>
<dict>
<key>LocNum</key>
<string>0</string>
<key>LocName</key>
<string>Head</string>
</dict>
<dict>
<key>LocNum</key>
<string>1</string>
<key>LocName</key>
<string>Left Hand</string>
</dict>
<dict>
<key>LocNum</key>
<string>2</string>
<key>LocName</key>
<string>Right Hand</string>
</dict>
....
</array>
</plist>
我的代码很简单:
locDictionary = [[NSMutableDictionary alloc] init];
NSString *locListpath = [[NSBundle mainBundle] pathForResource:@"LocList" ofType:@"plist"];
locDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:locListpath];
NSLog(@"locDictionary %@", locDictionary);
有什么想法或帮助吗? 谢谢
您的plist不是NSDictionary
,而是NSArray
字典,如果将其放置在磁盘上的适当位置,则此代码应有帮助:
NSString *path = [[NSBundle mainBundle] pathForResource:@"LocList" ofType:@"plist"];
NSMutableArray *locArray = [[NSMutableArray alloc] initWithContentsOfFile:path];
您的plist定义了一个字典数组,而不是字典本身,因此您需要启动一个数组:
NSArray *array = [[NSArray alloc] initWithContentsOfFile:locListpath];
然后遍历数组以得到类似以下内容的单个字典:
for (NSDictionary *dict in array) {
...
}
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.