cruxbook app updates

http://cruxbook.comのiPhoneアプリの改修を少ししました

いま審査待ちになっているv1.0.2ではジムマップ及び登録ジムのデータの更新がリアルタイムにネットワーク経由で行われるようになります。当初は、登録依頼があればその都度更新ファイルか何かを用意して、都度新しいバージョンとしてリリースすれば良いかと思っていました。しかし、アプリをリリースした後のバージョンアップデートにおいても米アップル本社の審査が発生してしまうため、早くても1週間サイクルでしかアプリの更新が出来ないことが分かりました。それに、毎回ジム更新用のファイル作ったりするのも面倒くさかったので、いっその事リアルタイムにしちゃえ、という事で実装しました。リリース後すぐに何件か新規ジム登録依頼があったので、そういったうれしい依頼にはやはり迅速に対応したいですしね

v1.0.3では課題の検索結果一覧、課題の詳細をUIWebViewでネットワーク経由(つまりブラウザみたいな形ですね)で表示している部分を改修。とりあえずダミーの情報(Placeholder)を表示して、バックグラウンドでデータをダウンロードして、表示を更新、そして画像はローカルファイルにキャッシュ。これにより検索まわりの表示がモッサイ感じがなくなりました。サクサク動きます。後々検索結果が増えるとヤバイ感じになりそうだったので早々に対応

iOSのテーブルリスト表示(UITableViewCell)って画面に表示される度に呼び出されるんですね。例えば、検索結果としては20行あったとします。画面内に4行しか表示されない場合は、とりあえずその4件を表示するための情報が処理されます。ユーザーがスクロールして違う行を表示すると、当然それらの行が処理されます。しかし、ユーザーがスクロールなどをして最初の4行に戻ったとします。これもまた表示用の処理がされます。このあたりは表示する内容によって工夫はできますが、UIWebViewを使っている場合は、なんとその都度Webサーバにリクエストが飛んでいくことになる。。。

この対策にはアップルのドキュメントにもハウツーがあったので、ほぼそのまま丸パクリしました

LazyTableImages

It begins by loading the relevant text from an RSS feed so the table can load as quickly as possible, and then downloads the images for each row asynchronously so the UI is more responsive.

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です