[__NSCFBoolean count]:无法识别的选择器:防止此崩溃的最佳方法

时间:2014-11-06 15:41:17

标签: ios objective-c unrecognized-selector

我在条件if语句中收到此错误。有没有一种好方法可以防止出现此错误?任何提示或建议表示赞赏。我猜猜subanswer由于某种原因是布尔值。

id subAnswer = [answer objectForKey:@"answer"];
NSArray *subAnswerKeyList;
if (subAnswer != [NSNull null] && subAnswer != nil && [subAnswer count] > 0 ) {
    ...
}

2 个答案:

答案 0 :(得分:2)

if语句替换为:

if ([subAnswer isKindOfClass:[NSArray class]] && [subAnswer count]) {
}

您的subAnswer实际上是一个代表BOOL值的数字。你需要了解为什么你期望它成为一个数组。

答案 1 :(得分:0)

你的" subAnswer"对象几乎肯定不是你期望它的NSArray对象。

放一个" NSLog("subAnswer is %@", subAnswer);"在你的代码中,你的Xcode控制台会告诉你对象的对象是什么。