1

我有一个返回NSDictionary命名数据的函数。它包含 2 个对象:一个NSDictionary带有 key的对象currency_data和一个NSString带有 key 的对象time

我想通过:

  • time带有新NSString对象键的字符串值
  • 具有变量NSDictionary键的对象。currency_dataNSMutableDictionary

我怎样才能做到这一点?

4

1 回答 1

1

取决于您是否使用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;
于 2012-11-14T16:51:25.160 回答