2015-11-09 3 views
0

Я создаю словарь. Я хотел бы вывести список из одного поля в словаре, идентификаторы, но не удалось.Захват значений из словаря

Вот мой код:

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

В этом списке перечислены все элементы, но то, что я действительно хочу это список только идентификаторами.

Что-то вроде NSLog(@"list of item ids:%@",tmpDict.tid);, но это вызывает ошибку.

+0

где г у хранить информацию в словаре? можете ли вы показать формат словаря? –

ответ

0

Это один из редких случаев, когда метод кодирования значения ключа valueForKey: полезен. Он возвращает массив всех значений для конкретного ключа всех словарей в массиве.

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

Цикл повторения может быть опущен.

В случае получения значение для ключа, используйте objectForKey: Оба метода часто принимаются за.

+0

Сделал трюк. Большое спасибо. –

0

Если вам нужен массив идентификаторов, нет необходимости в tmpDict.

Вы можете сделать это вручную, как это:

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

Или сделать это легкий путь с КВЦ:

NSArray *ids = [fetchedObjects valueForKey:@"tid"]; 
NSLog(@"ids = %@", ids); 
Смежные вопросы