比较并从NSMutableArray获取索引

时间:2013-01-24 05:55:39

标签: ios nsmutablearray nsarray

我有一个数组,它是一个数组的集合。 说 ( (1,x,y,a), (2,m,n,o), (3,s,t,u,v,w) )

如果我想获得m的索引,我该如何得到它?

可以使用 NSMutableArray包含:(id)吗?

3 个答案:

答案 0 :(得分:2)

检查此代码:

int arrayPos = 0;
for (NSArray *tempArray in collectionArray)
{
  if(tempArray containsObject:@"m")
  {
     int indexOfWord = [tempArray indexOfObject:@"m"];
     NSlog(@"Array pos: %d Index is : %d",pos, indexOfWord);
  }
  pos++;
}

在for循环中,您将获得在集合数组中添加的每个数组。之后,您正在检查数组中是否存在该单词。如果它存在,您正在显示它。 同时也打印阵列的位置。

该元素位于:

NSString *str = [[collectionArrayObjectAtIndex:pos] objectAtIndex:indexOfWord];

答案 1 :(得分:1)

您正在谈论的函数,“[NSMutableArray contains:]”将告诉您对象“B”是否存在于{A,B,C}数组中。

你真正需要做的是创建第二个函数,通过父数组快速枚举,然后在子数组上执行“contains”事务。如果找到“m”,则返回“YES”以及父数组中该条目的索引。

答案 2 :(得分:1)

NSArray *arrWithArr;
NSArray *arrWithM;
NSInteger arrIndex;
for (int i = 0; i< [arrWithArr count]; i++) {
    if ([[arrWithArr objectAtIndex:i] containsObject:@"m"]) {
        arrIndex = i; break;
    }
}
NSInteger mIndex = [[arrWithArr objectAtIndex:arrIndex]indexOfObject:@"m"];
相关问题