Objective C iOS崩溃:NSInvalidArgumentException - [__ NSArrayI objectForKeyedSubscript:]:

时间:2017-11-11 12:17:44

标签: ios objective-c arrays dictionary crash

我在为其分配id URL的行上发生了崩溃。

  id json = [NSJSONSerialization JSONObjectWithData:[data[@"answer"] dataUsingEncoding:NSUTF8StringEncoding] options:0 error:nil];
  id url = [[json[@"widget_metadata"]valueForKey:@"value"]valueForKey:@"url"];

这就是崩溃所说的

  

致命异常:NSInvalidArgumentException    - [__ NSArrayI objectForKeyedSubscript:]:无法识别的选择器发送到实例0x1c022cc80

我认为解决此问题的一种方法是添加if语句检查,如此

 if ([json isKindOfClass:[NSDictionary class]]) {

确保json是NSDictionary。这会解决我的崩溃问题吗?我故意将json改为数组来测试它,它似乎已经有效了。

0 个答案:

没有答案