0
红宝石代码(IRB)[目标c]大约的NSMutableArray
irb(main):001:0> ary = ["AAA", "BBB", "CCC"]
=> ["AAA", "BBB", "CCC"]
irb(main):003:0> ary.index("AAA")
=> 0
irb(main):004:0> ary.index("BBB")
=> 1
irb(main):005:0> ary.index("CCC")
=> 2
irb(main):006:0> ary.index("DDD")
=> nil
我想在目标c(NSMutableArray的)做相同。
你已经使用了indexOfObjectIdenticalTo。幸运的是,由于编译器优化,这将在您提供的示例中起作用,但不能保证这样做。你应该使用-indexOfObject :. 此外,最后一种情况下返回NSNotFound,它不是-1。最后,你应该使用NSUInteger,而不是NSInteger,如果我想变得非常挑剔,我会指出你会使用%lu格式说明符并将ndx转换为unsigned long,坦率地说,它很丑陋,但你可以责怪苹果为那个。 –
哎呀!感谢克里斯的更正。我混淆了哪种方法匹配内存中具有完全相同地址的对象,以及与具有完全相同值的对象匹配的对象。以为我已经得到它的权利,因为它正确执行(如果它编译:出货!)。 –