【Objective-C】配列(NSArray、NSMutableArray)の要素(値)を逆順に取得する方法
2011-12-16 (金) 23:52 Objective-C
もう2011年も残り15日ですね。
来年1月1日になればこのブログは1周年になります!
さて今回は配列(NSArray、NSMutableArray)の要素(値)を逆順に取得する方法についてです。
reverseObjectEnumeratorと高速列挙を使って次のようにすればできます。
<例 array1の値をarray2に逆順に入れる場合>
for(NSString *objData in [array1 reverseObjectEnumerator]){
[array2 addObject: objData];
}
このような方法が可能なのはObjective-Cの高速列挙は順番が保証されるからです(→参考)。
Visual Basicなどのように順番が保証されないプログラム言語では同様の方法は無理ですね。
他の方法としては配列の要素数-1をループカウンタの初期値として1ずづデクリメントする方法がありますね。
数が多くなると高速列挙よりも遅いですが少ない場合はこちらの方が書きやすいはずです。
<例 array1の値をarray2に逆順に入れる場合>
for (int i=[array1 count]-1; i>=0; i--) {
[array2 addObject:[array1 objectAtIndex:i]];
}
↓この記事が参考になったら拍手をクリックお願いします。今後のブログ作りに役立てたいので。
- 関連記事
-
- 【Objective-C】文字列(NSString)の大文字と小文字を区別せずに比較する方法 (2011/12/17)
- 【Objective-C】配列(NSArray、NSMutableArray)の要素(値)をランダムに並べ替える方法 (2011/12/17)
- 【Objective-C】配列(NSArray、NSMutableArray)の要素(値)を逆順に取得する方法 (2011/12/16)
- 【Objective-C】アラート(UIAlertView)でボタンを押すまで次の処理を待つ方法 (2011/12/16)
- 【Objective-C】タイマー(NSTimer)の止め方(停止方法) (2011/12/11)