NSArray 配列を逆順に並び替える : Objective-C プログラミング

PROGRAM


NSArray 配列を逆順に並び替える

Objective-C の NSArray を逆順に並び替えたいときの方法です。

逆順の配列に変換したいとき

NSArray 型の変数 array の、順番を逆にしたインスタンスを reversedArray に保存するには、次のようにします。

reversedArray = array.reverseObjectEnumerator.allObjects;

これで array 内の要素を逆順にした配列を reversedArray に格納することができました。

逆順に処理をしたい場合

このように reverseObjectEnumerator という機能を使っているので、これを使えば、配列を逆順に処理して行きたい場合も簡単です。

for (id element in array.reverseObjectEnumerator)

{

// ここで element に取り出したひとつひとつの要素に対する処理を行います。

 

 

}

こうすることで、わざわざ逆順のインスタンスを変数に確保しなくても、逆順に処理を進めることができます。

 

これと別の方法として、次のものも考えられます。

for (NSUInteger arrayIndex = array.count; arrayIndex > 0; arrayIndex--)

{

id element = array[arrayIndex - 1];

 

// ここで element に取り出したひとつひとつの要素に対する処理を行います。

 

 

}

昔ながらの標準的な方法なので、こちらの方が判りやすいかもしれないですけど、処理速度は一般に、前者の reverseObjectEnumerator を使う方法が速くなるようです。

[ もどる ]