偶尔知道了 FXForms ,正打算在项目里试一下的时候,发现会报错但原 sample 没有问题,我把 sample 没有改动的复制过来之后还是报错,本来不太在意以为是 FXForms 的 bug 什么的,我认真地找到了出错的位置,深究之后发现一个非常奇怪的现象。
下面这段代码:
id valueClass = [NSString class];
if ([valueClass isKindOfClass:[NSString class]])
{
NSLog(@"YES YES YES");
}else{
NSLog(@"NO NO NO");
}
正常来说,输出的结果应该是 NO NO NO,因为 valueClass 是一个 Class ,并不是 NSString 。
可怕的是,在我的项目里,输出的居然是 YES YES YES,我意识到这非常不对,虽然目前并没有什么影响,但以后肯定会有奇奇怪怪的 bug 出现,我找了好几天都没有结果,公司的项目没办法完整的传上来,大致是用了 cocoapods , pods 也是几个常用的而已,就是一个普通的项目而已。
我怕是我 SDK 的问题,新建了一个项目,输出的结果是 NO NO NO,这更让我觉得奇怪。
所以上来跟大家集思广益一下,究竟是什么原因,会导致 isKindOfClass 方法的结果异常呢?