2012-11-13 4 views
1

У меня есть функция, которая возвращает NSDictionary именованные данные. Он содержит 2 объекта: объект NSDictionary с ключом currency_data и объект NSString с ключом time.взять значения nsdictionary и nsstring из nsdictionary

Я хочу передать:

  • значение строки с ключом time к новому NSString объекта
  • NSDictionary объекта с ключом currency_data к NSMutableDictionary переменным.

Как я могу это сделать?

+0

Пожалуйста, объясните ... –

+0

я стараюсь передать их как этот 'NSMutableDictionary * cur_data = [[NSMutableDictionary Alloc] initWithDictionary: [objectForKey данных: @" currency_data «]]; NSString * time = [data valueForKey: @ "time"]; ' Но когда я nslog он, он возвращает nul – ozmax

+0

Если вам нужно передать несколько значений, инкапсулируйте, а затем передайте объект. –

ответ

1

В зависимости от того, используете ли вы ARC. С ARC ваш пример должен работать, без ARC вам нужно сохранить хотя бы строковые значения.

NSDictionary *dataDict = [foo data]; 
NSMutableDictionary *currency_dict= [[NSMutableDictionary alloc] initWithDictionary:dataDict[@"currency_data"]]; 
NSString *time = [data[@"time"] retain]; 

Что означает anoop-vaidy, я думаю, если вам нужен изменяемый словарь, создать что при вызове данных напрямую и передать его. Еще одно примечание. Вы можете лучше использовать свои знания о структуре данных. Вместо того, чтобы создавать словарь с двумя клавишами, используйте первое значение (временную строку) в качестве ключа, а второе (валюту dict) в качестве значения. Вы можете получить доступ к значениям и ключи в словарях довольно легко

NSArray *value = dict.allValues; 
NSArray *keys = dict.allKeys; 
Смежные вопросы