Iphone for(NSString*输入[rewards allKeys])使应用程序崩溃?
我有一个应用程序,它有一个从Web服务返回的字典。我正在将该字典传递给另一个视图控制器 在这个Iphone for(NSString*输入[rewards allKeys])使应用程序崩溃?,iphone,ios,Iphone,Ios,我有一个应用程序,它有一个从Web服务返回的字典。我正在将该字典传递给另一个视图控制器 在这个 NSDictionary *rewards=[rewardsdictionary objectForKey:@"rewards"]; NSLog(@"%@",rewards); NSMutableArray *dataArray=[[NSMutableArray alloc] init]; for(NSString *key in [rewards allKeys]) { NSDiction
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;
但是在这一行中(NSString*key in[rewards allKeys])应用程序正在崩溃。但是当我打印rewards或rewards dictionary时,值就在那里
-[\uu NSArrayM allKeys]:发送到实例0x76636b0的无法识别的选择器
有人能帮我摆脱困境吗?显然,
奖励
不是一本NSDictionary
。它是一个NSArray
显然,奖励
不是一个NSDictionary
。这是一个NSArray
在向其发送所有密钥
消息之前,使用NSAssert检查奖励
是否是NSDictionary
。在向其发送所有密钥
消息之前,使用NSAssert检查奖励
是否是NSDictionary
。您注销了什么?请把日志贴出来……什么让你注销?请发布日志…这将使应用程序提前一点失败。是否检查并确认为NSDictionary?这将使应用程序提前一点失败。是否检查并确认为NSDictionary?