1

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

如果我想获取m的索引,我该如何获取呢?

可以使用 NSMutableArray contains:(id)来完成吗?

4

3 回答 3

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];
于 2013-01-24T06:05:18.527 回答
1

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

您真正需要做的是提出第二个函数,该函数通过您的父数组进行快速枚举,然后contains在子数组上执行“”操作。如果找到“m”,则返回“YES”和该条目在父数组中的索引。

于 2013-01-24T06:05:13.027 回答
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"];
于 2013-01-24T06:07:27.230 回答