从第三方plist获取嵌套字典的最佳方法是什么?

时间:2011-12-19 23:42:10

标签: ios plist nsdictionary

我有一个由我尝试连接的第三方应用程序生成的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

1 个答案:

答案 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数组并打印值。