我在条件if语句中收到此错误。有没有一种好方法可以防止出现此错误?任何提示或建议表示赞赏。我猜猜subanswer由于某种原因是布尔值。
id subAnswer = [answer objectForKey:@"answer"];
NSArray *subAnswerKeyList;
if (subAnswer != [NSNull null] && subAnswer != nil && [subAnswer count] > 0 ) {
...
}
答案 0 :(得分:2)
将if
语句替换为:
if ([subAnswer isKindOfClass:[NSArray class]] && [subAnswer count]) {
}
您的subAnswer
实际上是一个代表BOOL
值的数字。你需要了解为什么你期望它成为一个数组。
答案 1 :(得分:0)
你的" subAnswer
"对象几乎肯定不是你期望它的NSArray对象。
放一个" NSLog("subAnswer is %@", subAnswer);
"在你的代码中,你的Xcode控制台会告诉你对象的对象是什么。