NSMutableArray の代わりにNSMutableSetを使う

| | コメント(0)

image_children_20090423.jpgiPhoneアプリのエンハンスとチューンアップをしています。
チューンアップはなかなか難しく、今まで作り上げたアルゴリズムは、おいそれと冗長な部分を見つけるのは難しいです。

でも、ついに発見。Arrayに要素を追加しながら、その要素を処理するループ。
同じオブジェクトが不必要に何回か登録される可能性があることが分かりました。

すでに処理したオブジェクトに対する全く同じ処理が何回か走る可能性があります。
このためNSMutableArray の代わりにNSMutableSetを使うことにしました。
こうすれば、同じオブジェクトは2回は登録されない。

ただ要素を取り出す時に、Enumerationを作らないと取り出せない。このオーバーヘッドが発生しますが、
特に処理が重い時に、少しパフォーマンスがアップするはずです。

エンハンスの方は、今まで、ボタンで行っていた処理を、オブジェクトのドラッグで直感的にできるように修正。
こちらは、使い勝手がよくなったと思います。

実機で安定化をした上で、バージョンアップの予定です。

カテゴリ

コメントする


画像の中に見える文字を入力してください。

このブログ記事について

このページは、kawaguchiが2009年4月23日 09:08に書いたブログ記事です。

ひとつ前のブログ記事は「ささやかだけれど僕にできること」です。

次のブログ記事は「タリーズとスターバックスと」です。

最近のコンテンツはインデックスページで見られます。過去に書かれたものはアーカイブのページで見られます。

Powered by Movable Type 4.0

Twitter