从pList(字典)到Tableview

时间:2010-10-21 07:34:35

标签: iphone uitableview dictionary nsmutablearray plist

我有一个可编辑的pList,其中包含以下格式的字符串字典:

21-10-2010  ->  @"item1"
20-10-2010  ->  @"item2"
19-10-2010  ->  @"item3"
18-10-2010  ->  @"item4"
17-10-2010  ->  @"item5"
ect...

因此,将stringformat中的日期作为键,将具有不同信息的字符串作为值。字典的长度最多可达200​​个键。并且密钥不一定按顺序排列,可能会遗漏一些日期。

我想在UITableViewCellStyleValue2的tableview中显示键及其值。目前我将它们放在tableview中,方法是在启动时将所有键写入全局NSMutableAray:

keysArray = [myDictionary allKeys];

然后在tableview方法中,我通过使用普通的indexPath作为数组的索引来放入它们:

cell.textLabel.text = [keysArray objectAtIndex:indexPath];
cell.detailTextLabel.text = [myDictionary objectForKey: [keysArray objectAtIndex:indexPath]];

这是有效的,但日期不符合最高日期的顺序。这是因为'allKeys'函数以随机顺序返回键(在字典中也没有自己的顺序)。

循环遍历全局数组的整个方法,并将此值作为另一个字典的密钥,从外部pList文件加载,实际上非常复杂和笨拙。所以我正在寻找一种按日期排序NSMutableArray的方法,或者更好的方法来实现我想要的东西。

感谢您的聆听,John。

1 个答案:

答案 0 :(得分:0)

您可以创建按日期排序的数组。您将索引此数组indexPath.row以询问项值。

要对可以使用的数组进行排序:

-sortedArrayUsingComparator:

[array sortedArrayUsingComparator:^(id obj1, id obj2) { 
  // Your comparaison
}];

请参阅此guide for block usage