エントリーの編集
エントリーの編集は全ユーザーに共通の機能です。
必ずガイドラインを一読の上ご利用ください。
NSMutableArrayの要素を削除の落とし穴 - Qiita
記事へのコメント0件
- 注目コメント
- 新着コメント
このエントリーにコメントしてみましょう。
注目コメント算出アルゴリズムの一部にLINEヤフー株式会社の「建設的コメント順位付けモデルAPI」を使用しています
- バナー広告なし
- ミュート機能あり
- ダークモード搭載
関連記事
NSMutableArrayの要素を削除の落とし穴 - Qiita
for (id object in array.reverseObjectEnumerator) { // objectを削除する必要があるかどうかチェック... for (id object in array.reverseObjectEnumerator) { // objectを削除する必要があるかどうかチェックする if ([object shoudRemove]) { // objectを削除する [array removeObject:object]; } } というコードを見かけたのですが、これはちょっとどうなのかな? と思いました。 なぜならremoveObjectが配列では定数時間ではないからです。 コードでは1重ループのはずが、内部的には2重ループをまわしていることになるのです。 NSArrayにはfilteredArrayUsingPredicate、 NSMutableArrayにはfilterUsingPredicateが使えるので、こちらを使うのが良いんじゃないかと思います。 コレクションのサイズが大きくなると、この速度差

