oOOMIAO 2013-01-22 05:40 采纳率: 10%
浏览 4880
已采纳

获取NSArray中对象的指针

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

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

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

  • 写回答

2条回答

  • loFataMer 2013-01-22 08:02
    关注

    indexOfObject得到的指针是匹配对象的第一个指针,而等式需要isEqual方法检测。
    你获得的奇怪的结果应该是等价于NSNotFound
    测试Aindex,你需要的数字可能不在数组内:

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

    或者确定数组值:

    NSLog(@"%@", myArray);
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(1条)

报告相同问题?

悬赏问题

  • ¥15 素材场景中光线烘焙后灯光失效
  • ¥15 请教一下各位,为什么我这个没有实现模拟点击
  • ¥15 执行 virtuoso 命令后,界面没有,cadence 启动不起来
  • ¥50 comfyui下连接animatediff节点生成视频质量非常差的原因
  • ¥20 有关区间dp的问题求解
  • ¥15 多电路系统共用电源的串扰问题
  • ¥15 slam rangenet++配置
  • ¥15 有没有研究水声通信方面的帮我改俩matlab代码
  • ¥15 ubuntu子系统密码忘记
  • ¥15 保护模式-系统加载-段寄存器