exchangeObjectAtIndex:withObjectAtIndex: です。
例えば以下のように使用します。
NSMutableArray *array = [NSMutableArray arrayWithObjects:objA,objB,objC,objD,nil]; for (int i=0 ; i<10 ; ++i) { NSUInteger idx1 = rand()%[array count]; NSUInteger idx2 = rand()%[array count]; if (idx1==idx2) { // 同じインデックスだったら片一方を変更 ++idx2; if (idx2>=[array count]) { idx2 = 0; } } //2つのインデックスのオブジェクトを入れ替える [array exchangeObjectAtIndex:idx1 withObjectAtIndex:idx2]; }コードはかなり簡易的に書いてますので、適当に書きなおして下さい。
NSArray は要素を変更できませんので、必ず Mutable バージョンを使用しましょう。
0 件のコメント:
コメントを投稿