2013-01-21 56 views
4

可能重複:
Getting Index of an Object from NSArray?如何找到數組的索引值的目標C

我有一個數組和一個串。數組名稱是「數組1」,字符串名稱是「字符串」,現在我有下面的「數組1」中的值。

"array1 = [[NSMutableArray alloc]initWithObjects:@"A",@"b",@"c",@"d",@"e", nil];" 

我的字符串值是「A」

現在我想比較這些字符串和數組。我想顯示數組索引值。

我該怎麼做。請有人幫助我。提前致謝。

回答

12
int i; 
for (i = 0; i < [myArray count]; i++) { 
    id myArrayElement = [myArray objectAtIndex:i]; 
...do something useful with myArrayElement 
}` 

可以遍歷的NSMutableArray,並找到特定對象使用的檢查

int index = [yourArray indexOfObject:yourObject]; 

位置

int indexValue = [myArray indexOfObject:yourString]; 
+0

如果我得到數字意味着我能做什麼? (e.x):@「1」,@「2」,與array1類似,字符串值爲@「1」。 – kannan

+0

感謝您的回覆。如果我得到了NUMB,意味着我能做什麼?對於e.x「array1 = [[NSMutableArray alloc] initWithObjects:@」1「,@」2「,@」3「,@」4「,@」5「,nil];」另一個數組值@ @「1」。我怎麼能比較這一點。請幫我解決這個問題。 – kannan

+0

不太清楚我認爲你可以比較NSString,你可以將它轉換爲int。 – Buntylm

13

我不知道如果這是你在找什麼,但也許:

int index = [array1 indexOfObject:String]; 
+0

感謝您的答覆陣列中得到一個對象的索引。如果我得到了NUMB,意味着我能做什麼?對於e.x「array1 = [[NSMutableArray alloc] initWithObjects:@」1「,@」2「,@」3「,@」4「,@」5「,nil];」另一個數組值@ @「1」。我怎麼能比較這一點。請幫我解決這個問題。 – kannan

+0

對不起,我不明白你的意思。你想比較什麼?字符串,數組或索引? –

+0

感謝您的回覆。我已經解決了我的問題。感謝您的回覆。 – kannan

2

使用

NSString *[email protected]"A"; 
NSInteger index = [array1 indexOfObject:String]; 

注意:決不資本String使用變量名,它應該是string

4

試試這個,

if([array1 containsObject: yourString]) 
{ 
    int index = [array1 indexOfObject:yourString]; 
} 
+0

兩個querys?爲了性能的原因,我建議在結果上使用NSNotFound! –

+0

@JonathanCichon但是他想將字符串與數組元素進行比較.. –

+1

但您的'containsObject'完全沒有必要,因爲'indexOfObject'完成了所有你想要的。 –

0

是正確對象和一些其他類型的對象。

當你已經實現了你自己的一類,你想,你必須實現該方法

- (BOOL)isEqual:(id)anObject