NSUInteger index = [self.objects indexOfObject:obj];
if (index == NSNotFound) {
// Success! Note: NSNotFound internally uses NSIntegerMax
}
if (index == NSUIntegerMax) {
// Fails!
}
なんで?indexOfObject の結果として符号なしの値を取得するとします。したがって、当然、オブジェクトが見つからない場合は、NSIntegerMax ではなく NSUIntegerMax が返されると想定していました。これはバグですか、それともこの動作には論理的な説明がありますか。