[英]iOS: Load dictionaries from plist file to an array
我正在尝试将以下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>Item 0</key>
<dict>
<key>title</key>
<string>East Coast</string>
</dict>
<key>Item 1</key>
<dict>
<key>title</key>
<string>West Coast</string>
</dict>
<key>Item 2</key>
<dict>
<key>title</key>
<string>South Rhodes</string>
</dict>
</dict>
</plist>
我正在使用以下Objective C代码
- (void)viewDidLoad
{
[super viewDidLoad];
// Load data from the plist file
NSString *plistPath = [[NSBundle mainBundle] pathForResource:@"Menu" ofType:@"plist"];
self.menuArray = [NSMutableArray arrayWithContentsOfFile:plistPath];
}
plist的名称是Menu.plist。
执行代码后,menuArray为空。
奇怪的是,在Apple的“QuickContacts”示例代码中使用相同的代码,一切都在那里完美无缺。
感谢您的时间。
你的plist文件定义了一个字典; 实际上,它的根对象是一个dict
:
<plist version="1.0">
<dict>
所以要将它加载到某个数据结构中,您可以尝试使用NSDictionary:
self.menuDictionary = [NSMutableDictionary dictionaryWithContentsOfFile:plistPath];
或者,您可以更改plist以便定义字典。 如果您使用Xcode plist编辑器,这不容易做到,否则您面前会进行一些文本编辑。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.