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 件のコメント:
コメントを投稿