0

配列のインデックスを見つけるのに問題があります。私の配列は次のようになります。

{"[NAME][NAME]", NSArray, NSArray}

文字列がこの連想配列の最初の要素に等しいオブジェクトのインデックスを取得する必要があります。

for ループを使用して整数をカウントしようとしましたが、これは毎回機能しません :/

編集:これは、インデックスを見つけるために使用する部分です:

int tempIndex = -1, indexCount = 0;

for(NSArray *tempName in ABMembers){
    if([tempName[0] isEqualToString:memberName]){
        tempIndex = indexCount;
        break;
    } else {
        indexCount ++;
    }
}

編集 2: 申し訳ありませんが、私の問題が何であるかがわかりました..配列は動的に生成され、比較する必要がある文字列も同じではありません。それが問題でした。したがって、ここでどのコードを使用しても機能するはずです。またすみません

4

3 に答える 3

0

次のようなものを探していると思います..

NSArray *arr1 = [NSArray arrayWithObjects:@"One", @"Two", nil];
NSArray *arr2 = [NSArray arrayWithObjects:@"Three", @"Four", nil];

NSArray *arr = [NSArray arrayWithObjects:@"[NAME][NAME]",arr1, arr2, nil];

// A loop Through array
for(id Obj in arr)
{
    NSLog(@"Object %@ at %d",Obj,[arr indexOfObject:Obj]);
}

または、オブジェクトを知っている場合

// Direct index for object
NSLog(@"Index of Arr1 %d",[arr indexOfObject:arr1]);
NSLog(@"Index of String %d",[arr indexOfObject:@"[NAME][NAME]"]);    
于 2013-05-14T09:21:59.480 に答える
0

このように配列を変更します。

NSArray *array1 = @[@"Name 3",@"Name 4",@"Name 5",@"Name 6",@"Name 7"];
NSArray *array2 = @[@"Name 8",@"Name 9",@"Name 10",@"Name 11",@"Name 12"];


NSMutableArray *abMembers = [[NSMutableArray alloc] init];
[abMembers addObject:@"Name 1"];
[abMembers addObject:@"Name 2"];
[abMembers addObjectsFromArray:array1];
[abMembers addObjectsFromArray:array2];

adMembers 配列で名前を検索し、

NSString *nameToCheck = @"Name 5";
int foundIndex = -1;
for(NSString *s in abMembers){
    if([s isEqualToString:nameToCheck]){
       foundIndex = [abMembers indexOfObject:s];
        break;
    }
}

NSLog(@"found: %d", foundIndex);
于 2013-05-14T08:27:54.613 に答える
0

これを確認してください。これが役立つと思います:

for (int i = 0; i < [ABMembers count]; i++){
        if ([[ABMembers objectAtIndex:i] isKindOfClass:[NSString class]]){
            //compare the strings you want
        }
        else if ([[ABMembers objectAtIndex:i] isKindOfClass:[NSArray class]]){
            //you can do the the stuff with the arrays in your ABMembers array
        }
 }
于 2013-05-14T10:02:46.823 に答える