我有一个返回NSDictionary
命名数据的函数。它包含 2 个对象:一个NSDictionary
带有 key的对象currency_data
和一个NSString
带有 key 的对象time
。
我想通过:
time
带有新NSString
对象键的字符串值- 具有变量
NSDictionary
键的对象。currency_data
NSMutableDictionary
我怎样才能做到这一点?
我有一个返回NSDictionary
命名数据的函数。它包含 2 个对象:一个NSDictionary
带有 key的对象currency_data
和一个NSString
带有 key 的对象time
。
我想通过:
time
带有新NSString
对象键的字符串值NSDictionary
键的对象。currency_data
NSMutableDictionary
我怎样才能做到这一点?
取决于您是否使用ARC。使用 ARC,您的示例应该可以工作,没有 ARC,您至少需要保留字符串值。
NSDictionary *dataDict = [foo data];
NSMutableDictionary *currency_dict= [[NSMutableDictionary alloc] initWithDictionary:dataDict[@"currency_data"]];
NSString *time = [data[@"time"] retain];
我认为anoop-vaidy 的意思是,如果您需要一个可变字典,请直接在数据调用中创建它并将其传递出去。另一个注意事项:您可以更好地利用您对数据结构的了解。不要使用 2 个键构建字典,而是使用第一个值(时间字符串)作为键,使用第二个值(货币字典)作为值。您可以很容易地访问字典中的值和键
NSArray *value = dict.allValues;
NSArray *keys = dict.allKeys;