目标C-如何获取Array中对象的索引

时间:2011-08-15 15:22:35

标签: iphone objective-c

假设ItemsNSMutableArray。我想知道其Items数组中项对象的索引。我可以通过设置一个“i”计数器来实现这一目标,但那很难看。这样做有一种优雅的方式吗?

for(item* item in Items){

  //do something with the item considering its **index** in the Items array

}

3 个答案:

答案 0 :(得分:11)

indexOfObject:
indexOfObjectIdenticalTo:

编辑:
仔细阅读描述,indexOfObjectIdenticalTo:可能就是你想要的。
但是,在这种情况下,添加计数器是快速的方法。

答案 1 :(得分:7)

indexOfObject:方法有什么问题?

NSUInteger i = [ array indexOfObject: anObject ];

答案 2 :(得分:2)

如果您不想在for循环中使用计数器,请使用NSMutableArray enumerateObjectsUsingBlock。这将迭代元素并将索引作为您提供的块中的参数。执行此操作会更加高效indexOfObject - 必须在返回索引之前搜索整个数组。当你已经“知道”索引时,使用它似乎很愚蠢。