我正在努力通过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);
`
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。