2012-11-13 97 views
1

我有一个函数返回一个NSDictionary命名数据。它包含2个对象:NSDictionary对象与关键字currency_dataNSString对象与关键字time从nsdictionary中取nsdictionary和nsstring的值

我想通过:

  • 字符串值与键time到一个新的NSString对象
  • NSDictionary对象与键currency_dataNSMutableDictionary变量。

我该怎么做?

+0

请解释... –

+0

我试图通过他们这样 '的NSMutableDictionary * cur_data = [[的NSMutableDictionary页头] initWithDictionary:[数据objectForKey:@“currency_data “]];但是,当我nslog它,它返回nul – ozmax

+0

NSString * time = [data valueForKey:@“time”];如果您需要传递多个值,封装,然后传递该对象。 –

回答

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;