使用NSDictionary对象从数组中获取对象
问题描述:
无论密钥是什么,我都需要能够显示对象值。或者用对象键显示一个对象。使用NSDictionary对象从数组中获取对象
NSMutableArray *array = [NSMutableArray array];
NSMutableDictionary *dict= [[NSMutableDictionary alloc] init];
[dict setObject:[NSNumber numberWithInt:10] forKey:@"key"];
[array addObject:dict];
NSLog(@"Key: %@", [[array objectAtIndex:0] key]);
NSLog(@"Value: %@", [[array objectAtIndex:0] valueForKey:[[array objectAtIndex:0] key]]);
//Both logs "[__NSDictionaryM key]: unrecognized selector sent to instance"
为什么不工作?我该怎么做?
注意:在这个例子中keyValue
是 “钥匙”,但我不知道原来代码中的keyValue
..
答
NSMutableArray *array = [NSMutableArray array];
NSMutableDictionary *dict= [[NSMutableDictionary alloc] init];
[dict setObject:[NSNumber numberWithInt:10] forKey:@"key"];
[array addObject:dict];
尝试
NSDictionary *dict = [array objectAtIndex:0];
NSArray *values = [dict allValues];
NSArray *keys = [dict allKeys];
和
登录NSLog(@"Keys: %@", keys);
NSLog(@"Values: %@", values);
也
for (id key in keys) {
NSLog(@"Value: %@ for Key: %@", [dict objectForKey:key], key);
}
答
你可以这样做
for(NSDictionary *aDict in array)
{
for(NSString *aStrKey in aDict)
{
NSLog(@"%@", [aDict valueForKey:aStrKey]);
}
}
'[阵列objectAtIndex:0] ObjectForKey:@ “钥匙”];' – 2014-08-29 11:50:33
查看更新后的问题 – Peter 2014-08-29 11:52:23
'[阵列objectAtIndex:0] allKeys]。 '它将返回NSArray与该字典的所有键。 – 2014-08-29 11:53:12