我的应用结果无法加载某些内容。我很惊讶,我发现那个错误就是那个
[contentItem performSelector:@selector(setIsContainer:) withObject:[NSNumber numberWithBool:true]];
正在将" False" 传递给该方法,而不是" True" 。
对此有任何解释吗?或者,作为一种良好做法,我应该避免使用performSelector
?
(我向同事询问他们的手机,并且我使用相同iPhone5s
版本的同一iOS
,其中所有3个一切正常,但老板手机除外
答案 0 :(得分:4)
您正在将NSNumber
对象传递给期望BOOL
原语的方法。它应该在每个版本的iOS上失败。
将实施更改为:
- (void)setIsContainer:(NSNumber *)isContainer {
_isContainer = [isContainer boolValue];
}
(如果您需要原始语义,那么您必须提供替代版本;一个用于NSNumber
,另一个用于BOOL
)。