从字典中获取值

时间:2015-11-09 19:10:08

标签: ios objective-c dictionary

我正在建一本字典。我想在字典中注明一个字段的列表,即id,但没有成功。

这是我的代码:

for (i = 0; i < resultCount; i++) {
    item =  fetchedObjects[i];
    tmpDict[item.tid] = item;
}
NSLog(@"list of items%@",tmpDict);

这列出了所有项目,但我真正想要的只是id列表。

NSLog(@"list of item ids:%@",tmpDict.tid);之类的东西,但这会引发错误。

2 个答案:

答案 0 :(得分:0)

这是键值编码方法valueForKey:很有用的极少数情况之一。它返回数组中所有字典的特定键的所有值的数组。

NSLog(@"list of items%@", [fetchedObjects valueForKey:@"tid"]);

可以省略重复循环。

如果要检索密钥的一个值,请使用objectForKey:这两种方法经常被误认为。

答案 1 :(得分:0)

如果您只想要一组ID,则不需要tmpDict

您可以像这样手动执行此操作:

NSMutableArray *ids = [NSMutableArray array];
for (WhatEverClass *item in fetchedObjects) {
    [ids addObject:item.tid];
}
NSLog(@"ids = %@", ids);

或者用KVC轻松实现:

NSArray *ids = [fetchedObjects valueForKey:@"tid"];
NSLog(@"ids = %@", ids);