从 NSDictionary 数组中获取具有值的数组
Posted
技术标签:
【中文标题】从 NSDictionary 数组中获取具有值的数组【英文标题】:Getting Array with values from an array of NSDictionary 【发布时间】:2012-03-02 12:19:37 【问题描述】:我有一个包含 4 个字典的数组,其中键为 @"preference",如下所示
(
preference = Nose;
,
preference = "Heart rate";
,
preference = Glucose;
,
preference = Food;
)
现在我想为这些字典值检索一个数组,例如“
(
Nose, Heart rate, Glucose, Food
)
我是怎么得到它的。在此先感谢
【问题讨论】:
【参考方案1】:单行:
NSArray *resultingArray = [arrayOfDictionaries valueForKeyPath:@"preference"];
【讨论】:
在这种情况下,使用-valueForKey:
可能会获得更好的性能【参考方案2】:
试试看:
NSArray *result = [dictionaryObject valueForKeyPath:@"preference"];
它会解决你的问题
【讨论】:
【参考方案3】:做这样的事情:
NSMutableArray *collectedValues = [NSMutableArray arrayWithCapacity:array.count];
for (NSDictionary *dict in array)
NSString *value = [dict objectForKey:@"preference"];
if (value)
[collectedValues addObject:value];
【讨论】:
【参考方案4】:试试这个代码: myArray 是你的第一个数组 mySecondArray 是你最后拥有的数组
NSMutableArray *mySecondArray = [[NSMutableArray alloc] init];
for (int i = 0; i < [myArray count] ; i++)
NSDictionary *tempDict = [myArray objectForIndex:i];
[mySecondArray addObject:[tempDict objectForKey@"preference"]];
【讨论】:
以上是关于从 NSDictionary 数组中获取具有值的数组的主要内容,如果未能解决你的问题,请参考以下文章
从 NSDictionary 获取包含 NSNumber 布尔值的键列表,其中值为 @YES
两个 NSArray 组合成一个具有交替值的 NSDictionary