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行い、サブ配列で " " 処理を行う 2 番目の関数を作成することです。「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 に答える