将键的值插入NSMutableArray

时间:2012-06-11 03:21:12

标签: objective-c arrays dictionary

我认为这对你来说可能是一个非常简单的问题。

但是我搜索了很多,我不知道我是不是很傻或者我使用的是错误的班级(NSMutableArray)。

我想为特定键添加一个对象,以便以后可以检索它。

例如:

NSMutableArray *grisOcurrencias = [[NSMutableArray alloc] init];

[grisOcurrencias setValue:ocurrencia forKey:[NSString stringWithFormat: @"%f", pixelVal]];

但是如果我执行类似的操作,数组不会插入到数组中:

[grisOcurrencias addObject: ocurrencia]

插入对象。

我做错了吗?

其他的事情......我想通过密钥恢复对象,我应该使用什么方法?

非常感谢

2 个答案:

答案 0 :(得分:8)

您正在寻找NSMutableDictionary,而不是NSMutableArray。字典基于键存储对象,而数组基于索引存储对象。

NSMutableDictionary *dict = [NSMutableDictionary dictionary];

[dict setObject:something forKey:@"Some Key"];

// ... and later ...

id something = [dict objectForKey:@"Some Key"];

答案 1 :(得分:4)

您想使用NSDictionary

NSMutableDictionary *grisOcurrencias = [[NSMutableDictionary alloc] init];

[grisOcurrencias setObject:ocurrencia forKey:[NSString stringWithFormat: @"%f", pixelVal]];

然后检索对象:

id object = [grisOcurrencias objectForKey:[NSString stringWithFormat: @"%f", pixelVal]];

数组是一个有序的项集合,其中每个项都有一个整数索引。字典是对象的集合,每个对象都是根据键设置和检索的,就像真正的字典一样,键是单词,值(对象)是定义。