我有一个存储在nsuserdefaults中的NSMutabledictionary,如下所示:(左边的键,右边的值)
{
"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中的单元格?
答案 0 :(得分:1)
关于objectForKey
来自NSUserDefaults class reference:
返回的对象是不可变的,即使您最初设置的值是可变的。
有关此主题的相关讨论,请参阅this SO question。
话虽这么说,您可以使用NSDictionary
属性访问allKeys
的密钥,并以键值方式枚举字典的内容,如下所示:
for (id key in dictionary.allKeys) {
value = dictionary[key];
}
但是,您不应该使用可变集合(即NSMutableDictionary
)作为数据源,因为在将数据传递给数据后,数据可能会发生变化(请记住,它是可变的)。实现代码如下。而是使用NSDictionary
的内容创建NSMutableDictionary
。
答案 1 :(得分:1)
您不能将字典用作表视图的数据源。表视图是有序的表示。字典是无序集合。没有任何东西可以按照任何特定顺序保存字典中的对象。
NSArray是表视图数据源的模型的不错选择。如果有效,你当然可以使用一系列字典。
您还可以使用allKeys方法查询字典中的键,然后保存结果数组,并使用allKeys数组中的索引获取字典中的条目。