任何想法为什么我不能得到我确定在数组中存在的对象的索引?相反,我没有......
(lldb) po newItem
<ReceiptItem: 0x16a428b0>
(lldb) po self.items
<__NSArrayM 0x169bf0e0>(
<ReceiptItem: 0x16a428b0>
)
(lldb) po [self.items indexOfObject:newItem]
<nil>
由于
答案 0 :(得分:15)
-indexOfObject:
返回类型为NSUInteger
的整数,而不是对象引用。因此,您不应使用po
(打印对象)调试器命令,而应使用p
。
它返回0
,而不是nil
,这意味着它在数组的第一个位置找到了对象。如果找不到该对象,-indexOfObject:
将返回NSNotFound
。
最低索引,其对应的数组值等于anObject。如果数组中的任何对象都不等于anObject,则返回NSNotFound。
答案 1 :(得分:1)
尝试这样做
(lldb) p (NSUInteger)[self.items indexOfObject:newItems];