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 を使う方法が速くなるようです。
[ もどる ]