NSArray indexOfObject返回nil

Yos*_*ssi 7 objective-c nsarray ios

任何想法为什么我不能得到一个我确定在数组中存在的对象的索引?相反,我没有......

(lldb) po newItem
<ReceiptItem: 0x16a428b0>

(lldb) po self.items
<__NSArrayM 0x169bf0e0>(
<ReceiptItem: 0x16a428b0>
)

(lldb) po [self.items indexOfObject:newItem]
<nil>
Run Code Online (Sandbox Code Playgroud)

谢谢

Ami*_*wad 15

-indexOfObject:返回类型的整数NSUInteger,而不是对象引用.因此,您不应该使用po(打印对象)调试器命令,但是p.

它返回的0不是nil什么意味着它在数组的第一个位置找到了对象.如果找不到对象,-indexOfObject:就会返回NSNotFound.

最低索引,其对应的数组值等于anObject.如果数组中的所有对象都不等于anObject,则返回NSNotFound.