如何获取将对象添加到NSMutableArray的索引?

时间:2012-04-19 15:08:24

标签: iphone cocoa-touch ios4

我正在向NSMutableArray添加一个对象,如下所示:

[array addObject:myObject];

我现在想要向添加了这个对象的Array Index的代理发送一个引用。 有没有一种简单的方法可以找到我的对象在数组中添加的索引,以便稍后我可以调用

[array objectAtIndex:index] 

获取参考资料?

谢谢!

6 个答案:

答案 0 :(得分:2)

不是将对象的索引(可能不正确)传递给您的委托,而是传递对象本身的引用。如果委托需要数组中对象的索引,它可以使用-indexOfObject:来解决自己,正如Antonio MG所描述的那样。可变数组中任何给定对象的索引可以在添加,插入和删除对象时更改。指望在任何时间段保持有效的指数就像在柜台上留下果冻三明治一样 - 它肯定会吸引虫子。

答案 1 :(得分:1)

您需要序列化对可变数组的访问,-addObject:始终将对象添加到数组的末尾。鉴于这两个断言,您知道下一个添加对象的索引将始终是数组的当前长度。所以以下内容将成立:

NSUInteger nextIndex = [array count];
[array addObject:myObject];
// you can now tell your delegates that nextIndex is the index of myObject

答案 2 :(得分:0)

使用此方法:

index = [animalOptions indexOfObject:myObject];

答案 3 :(得分:0)

最新添加的对象应为[array count] - 1索引。您始终可以依靠“count-1”方案来确定最后一个索引。

答案 4 :(得分:0)

如果你调用addObject,你总是在最后添加对象(所以count - 1)。 您可以使用“insertObject:atIndex:”来指定索引。 对于你的问题:indexOfObject:

答案 5 :(得分:-1)

添加对象的索引后直接为array.count -1