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,坦率地說,它很醜陋,但你可以責怪蘋果爲那個。 –
哎呀!感謝克里斯的更正。我混淆了哪種方法匹配內存中具有完全相同地址的對象,以及與具有完全相同值的對象匹配的對象。以爲我已經得到它的權利,因爲它正確執行(如果它編譯:出貨!)。 –