我正在努力通過indexOfObject 方法獲取數組的指針,但是得到的數值總是不對,比如我有一個數組{57,56,58..}
然後我想獲取56
的指針:
NSNumber *num = [NSNumber numberWithInteger:56];
NSInteger Aindex = [myArray indexOfObject:num];
NSLog(@" %d",Aindex);
然後我就得到了2323421
這樣奇怪的結果,哪裡出錯了呢?謝謝大家的不吝賜教。
indexOfObject
得到的指針是匹配對象的第一個指針,而等式需要isEqual
方法檢測。
你獲得的奇怪的結果應該是等價於NSNotFound
。
測試Aindex,你需要的數字可能不在數組內:
NSNumber *num=[NSNumber numberWithInteger:56];
NSInteger Aindex=[myArray indexOfObject:num];
if(NSNotFound == Aindex) {
NSLog(@"not found");
}
或者確定數組值:
NSLog(@"%@", myArray);