我的问题很简单。我有一些与密钥关联的数据。密钥和数据都是NSString
. 所以我想到的第一件事就是使用NSDictionary
. 我通常像这样访问值:[myDict objectForKey:@"myKey"];
但是,有时我需要通过索引访问值。
样本: [myDict objectAtIndex: indexPath.row]
但当然,字典中没有索引。
有很多解决方案可以解决这个问题,但我想知道哪个是最好的。
由于 key 或 index 访问值的最佳方法是什么?
我的问题很简单。我有一些与密钥关联的数据。密钥和数据都是NSString
. 所以我想到的第一件事就是使用NSDictionary
. 我通常像这样访问值:[myDict objectForKey:@"myKey"];
但是,有时我需要通过索引访问值。
样本: [myDict objectAtIndex: indexPath.row]
但当然,字典中没有索引。
有很多解决方案可以解决这个问题,但我想知道哪个是最好的。
由于 key 或 index 访问值的最佳方法是什么?
创建您的自定义类,例如DictionArray
具有数组和字典的属性。
添加属性NSInteger index
等NSString *value
以及一些基于索引和键检索的方法。
这没有多大意义,因为字典是无序的,但如果你仍然需要这个:
id nthKey = [[dict allKeys] objectAtIndex:idx];
id nthObj = [dict objectForKey:nthKey];
为了通过索引从字典中获取对象,您必须拥有一个键数组。然后你得到钥匙:
NSString *key = [keys objectAtIndex: indexPath.row];
并获取对象:
NSString *value = [myDict objectForKey:key];