我有一个由我尝试连接的第三方应用程序生成的IOS plist,因此我无法修改plist的格式。给我带来麻烦的部分是一个Dictionaries数组,即cardList数组。我已将plist加载到NSMutableDictionary中,没有任何问题,可以“转储”cardList和colorLabelList数组。
第一个问题:访问Item数组的每个成员的最佳方法是什么?即,列表中的每张卡片的草稿,标签等。
第二个问题:我的'加载到NSMutableDictionary'方法是最好的选择吗?
这是plist的布局:
cardlist Array
item 0 Dictionary
draft boolean
label string
notes string
...
item 1 Dictionary
draft
label
notes
...
name string
sortOrder number
答案 0 :(得分:0)
只有在实际要更改数据时才使用NSMutableDictionary,否则使用标准的NSDictionary(这更像是样式的东西,实际的实现并没有真正改变)。
如果要循环访问cardlist数组,请执行以下操作:
//This will enumerate through the array element by element
for (NSMutableDictionary *dictionary in cardlist) {
//Ok, now we have a dictionary from cardlist
//Let's print the items to the console
NSLog(@"draft: %i", [dictionary valueForKey:@"draft"]); //Note, there are better ways print print a bool to the log, but this will work for now
NSLog(@"label: %@", [dictionary valueForKey:@"label"]);
NSLog(@"notes: %@", [dictionary valueForKey:@"notes"]);
}
这应该遍历所有的cardlist数组并打印值。