我已将数据存储在nsmutabledictionary中,在字典值下方给出 我存储的值和值是实例,如何检索对象中的值?
English = (
"<Row: 0x4e50560>",
"<Row: 0x4e50790>",
"<Row: 0x4e509d0>"
);
Roman = (
"<Row: 0x4e50c60>",
"<Row: 0x4e50ea0>"
);
japanese = (
"<Row: 0x4e51150>",
"<Row: 0x4e513a0>",
"<Row: 0x4e515e0>",
"<Row: 0x4e51860>"
);
arab = (
"<Row: 0x4e50140>"
);
当我检索它时,查看最后一个对象&amp;我无法在代码中查看其他对象。如何访问字典的每个键中的值,并将值作为对象。任何人都可以解释我在上面的代码中缺少的内容。
这是我的代码
NSArray *keys;
id key, value;
keys = [appDelegate.viewDictionary allKeys];
int count = [keys count];
for (int i = 0; i < count; i++)
{
key = [keys objectAtIndex: i];
value = [appDelegate.viewDictionary objectForKey: key];
NSLog (@"Key: %@ for value: %@", key, value);
for(Row *rs in value) {
NSLog(@"%@", rs.user);
//cell.textLabel.text = rs.user;
}
}
答案 0 :(得分:1)
以下是一个接近您的问题的示例,请查看差异代码,看看它是否有帮助。
NSDictionary *dict = [NSDictionary dictionaryWithObjectsAndKeys:
[NSArray arrayWithObjects:
@"<Row: 0x4e50560>",
@"<Row: 0x4e50790>",
@"<Row: 0x4e509d0>",
nil], @"English",
[NSArray arrayWithObjects:
@"<Row: 0x4e50c60>",
@"<Row: 0x4e50ea0>",
nil], @"Roman",
[NSArray arrayWithObjects:
@"<Row: 0x4e51150>",
@"<Row: 0x4e513a0>",
@"<Row: 0x4e515e0>",
@"<Row: 0x4e51860>",
nil], @"Japanese",
[NSArray arrayWithObjects:
@"<Row: 0x4e50140>",
nil], @"Arab",
nil];
for (NSString *key in dict) {
NSArray *value = [dict objectForKey:key];
NSLog (@"Key: %@ for value: %@", key, value);
for(NSString *rs in value) {
NSLog(@"%@", rs);
}
}
答案 1 :(得分:0)
'allKeys'是否为您提供了包含对象(键)的实际数组的引用?尝试为“keys”数组分配内存:
keys = [NSArray arrayWithArray:[appDelegate.viewDictionary allKeys]];