Closed. This question is not reproducible or was caused by typos。它当前不接受答案。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
6年前关闭。
Improve this question
简单的一个。
我正在使用indexOfObject来检查数组中是否已存在值。
如果该值不在数组中,则indexOfObject返回常量NSNotFound。
为什么与> 100000进行比较比较有效:
但是与NSNotFound的相等性失败:
自己尝试。
想改善这个问题吗?更新问题,以便将其作为on-topic用于堆栈溢出。
6年前关闭。
Improve this question
简单的一个。
我正在使用indexOfObject来检查数组中是否已存在值。
如果该值不在数组中,则indexOfObject返回常量NSNotFound。
为什么与> 100000进行比较比较有效:
NSInteger indexOfCell = [_selectedCellIndices indexOfObject:cellIndex];
if(indexOfCell > 1000000)
但是与NSNotFound的相等性失败:
NSInteger indexOfCell = [_selectedCellIndices indexOfObject:cellIndex];
if(indexOfCell == NSNotFound)
最佳答案
2147483647是NSNotFound(在某些情况下也称为-1)。测试的方式是成功还是失败,这是有问题的,因为Cocoa本身的行为与广告宣传完全一样。
NSInteger indexOfCell = [[NSArray new] indexOfObject:@""];
NSLog(@"%d", indexOfCell); // some number
NSLog(@"%d", NSNotFound); // the same number
NSLog(@"%d", indexOfCell == NSNotFound); // 1, i.e. YES
自己尝试。
关于ios - NSNotFound比较无法正常工作,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/21321067/
10-11 03:58