我有一个应用程序,该应用程序从Web服务返回了一个字典。我正在将该字典传递给另一个视图控制器。

在这个

NSDictionary *rewards=[rewardsdictionary objectForKey:@"rewards"];
NSLog(@"%@",rewards);

NSMutableArray *dataArray=[[NSMutableArray alloc] init];
for(NSString *key in [rewards allKeys])
{
    NSDictionary *dict1=[rewards objectForKey:key];
    [dataArray addObject:dict1];
}
self.rewardsarray=[[NSMutableArray alloc] init];
self.rewardsarray=dataArray;


但是在这行for(NSString *key in [rewards allKeys])应用程序崩溃了。但是当我打印奖励或奖励字典时,值就在那里了。


  -[__ NSArrayM allKeys]:无法识别的选择器已发送到实例0x76636b0


有人可以帮助我摆脱困境吗?

最佳答案

显然,rewards不是NSDictionary。这是一个NSArray

10-05 18:19