开发者社区> 问答> 正文

获取NSArray中对象的指针

我正在努力通过indexOfObject 方法获取数组的指针,但是得到的数值总是不对,比如我有一个数组{57,56,58..}然后我想获取56的指针:

NSNumber *num = [NSNumber numberWithInteger:56];
NSInteger Aindex = [myArray indexOfObject:num];
NSLog(@" %d",Aindex);

然后我就得到了2323421这样奇怪的结果,哪里出错了呢?谢谢大家的不吝赐教。

展开
收起
爵霸 2016-03-26 08:56:30 2035 0
1 条回答
写回答
取消 提交回答
  • indexOfObject得到的指针是匹配对象的第一个指针,而等式需要isEqual方法检测。
    你获得的奇怪的结果应该是等价于NSNotFound。
    测试Aindex,你需要的数字可能不在数组内:

    NSNumber *num=[NSNumber numberWithInteger:56];
    NSInteger Aindex=[myArray indexOfObject:num];
    if(NSNotFound == Aindex) {
        NSLog(@"not found");
    }

    或者确定数组值:
    `
    NSLog(@"%@", myArray);
    `

    2019-07-17 19:15:09
    赞同 展开评论 打赏
问答标签:
问答地址:
问答排行榜
最热
最新

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载