我有一个数组,它是一个数组的集合。 说 ( (1,x,y,a), (2,m,n,o), (3,s,t,u,v,w) )
如果我想获得m的索引,我该如何得到它?
可以使用 NSMutableArray包含:(id)吗?
答案 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"];