Ios NSMutableDictionary作为UITableView的数据源

Ios NSMutableDictionary作为UITableView的数据源,ios,iphone,objective-c,uitableview,Ios,Iphone,Objective C,Uitableview,我有一个NSMutabledictionary存储在nsuserdefaults中,看起来像这样:键在左边,值在右边 { "3/2/14, 12:17:08 PM Central Standard Time" = 220; "3/2/14, 12:37:28 PM Central Standard Time" = 220; } 我想在UITableView中将这些值显示为 3/2/14 220 或者类似的,日期在左边,重量在右边 如何将此信息加载到UITableView中的单元格 关于ob

我有一个NSMutabledictionary存储在nsuserdefaults中,看起来像这样:键在左边,值在右边

{
"3/2/14, 12:17:08 PM Central Standard Time" = 220;
"3/2/14, 12:37:28 PM Central Standard Time" = 220;
}
我想在UITableView中将这些值显示为

3/2/14  220
或者类似的,日期在左边,重量在右边

如何将此信息加载到UITableView中的单元格

关于objectForKey:

返回的对象是不可变的,即使最初设置的值是可变的

有关此主题的相关讨论,请参阅

也就是说,您可以通过其allKeys属性访问NSDictionary的键,并以如下方式枚举字典的内容:

for (id key in dictionary.allKeys) {
    value = dictionary[key];
}

但是,您不应该将可变集合(即NSMutableDictionary)用作数据源,因为数据存在更改的潜在风险。请记住,在将数据交给tableview后,它是可变的。相反,使用NSMutableDictionary的内容创建NSDictionary。

不能将字典用作表视图的数据源。表视图是一种有序的表示形式。字典是无序的集合。没有任何东西能把字典中的对象按特定的顺序排列

NSArray是作为表视图数据源模型的良好选择。如果可行的话,您当然可以使用字典数组


您还可以使用allKeys方法查询字典中的键,然后保存生成的数组,并使用allKeys数组中的索引获取字典中的条目。

通过将对象分配给UTableView委托中给定索引路径处的单元格,可以像加载其他信息一样加载此信息。您可以根据需要设置自己的UITableViewCell布局子类和显示,或者使用Apple的预定义单元设计之一。