В зависимости от того, используете ли вы 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;
Пожалуйста, объясните ... –
я стараюсь передать их как этот 'NSMutableDictionary * cur_data = [[NSMutableDictionary Alloc] initWithDictionary: [objectForKey данных: @" currency_data «]]; NSString * time = [data valueForKey: @ "time"]; ' Но когда я nslog он, он возвращает nul – ozmax
Если вам нужно передать несколько значений, инкапсулируйте, а затем передайте объект. –