【发布时间】:2020-08-09 07:41:28
【问题描述】:
我正在比较两个NSUInteger,我一直在崩溃,这就是-[__NSCFNumber length]: unrecognized selector sent to instance
NSUInteger index = [masterArray indexOfObject:object];
if (index != NSNotFound){
if (index < [anArray count] - 1 ){
//Do something
}
else{
//Do something
}
}
阅读old post 的类似问题,但我仍然无法弄清楚。我试过投射,但它仍然崩溃:
NSUInteger index = [masterArray indexOfObject:object];
if (index != NSNotFound){
if (index < (NSUInteger)((int)[anArray count] - 1) ){
//Do something
}
else{
//Do something
}
}
但是,没有任何减号操作,它可以工作。
NSUInteger index = [masterArray indexOfObject:object];
if (index != NSNotFound){
if (index < [anArray count]){
//Do something
}
else{
//Do something
}
}
知道为什么吗?提前致谢。
【问题讨论】:
-
-[__NSCFNumber length]是在此代码中还是在//Do something中崩溃?anArray[count - 1]的结果类是NSNumber而你期待的是NSString吗? -
我认为崩溃发生在“//做某事”部分。如果'index
-
你们说得对,根据意见重新检查我的代码后,我发现
anArray在某些情况下是一个空数组,导致后续代码崩溃。谢谢!我将关闭这篇文章,因为它不再与问题相关。
标签: objective-c