[__NSCFBoolean count]:无法识别的选择器:防止此崩溃的最佳方法
问题描述:
我在条件if语句中收到此错误。有没有一种好方法来防止这个错误出现?任何提示或建议表示赞赏。我猜测由于某种原因,subanswer是一个布尔值。[__NSCFBoolean count]:无法识别的选择器:防止此崩溃的最佳方法
id subAnswer = [answer objectForKey:@"answer"];
NSArray *subAnswerKeyList;
if (subAnswer != [NSNull null] && subAnswer != nil && [subAnswer count] > 0) {
...
}
答
替换为您if
声明:
if ([subAnswer isKindOfClass:[NSArray class]] && [subAnswer count]) {
}
你subAnswer
实际上是代表BOOL
值的数字。你需要明白为什么你期望它是一个数组。
答
你的“subAnswer
”对象几乎肯定不是你期待它的NSArray对象。
在你的代码中放入一个“NSLog("subAnswer is %@", subAnswer);
”,你的Xcode控制台会告诉你对象真的是是什么。