2013-01-24 63 views
1

我有一個數組,它是數組的集合。 說 ( (1,X,Y,a)中, (2,M,N,O), (3,S,T,U,V,W) )比較並從NSMutableArray獲得索引

如果我想得到m的索引,我怎麼得到它?

可以這樣做使用NSMutableArray包含:(id)

回答

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"]; 
+0

完美,可以得到數組索引和元素索引。謝謝 – indiaxxo

1

你正在談論的功能「[NSMutableArray contains:]」會告訴你對象「B」是否存在於{A,B,C}的數組中。

你真正需要做的是得到第二個函數,通過父數組快速枚舉,然後在子數組上執行「contains」。如果找到「m」,則返回「YES」,並返回父數組中該條目的索引。

+0

是的,我以這種方式確實寫,我得到了下面的答。 非常感謝。 – indiaxxo

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];