サンプルコードを読む〜LazyTable編〜
今日はいつもよりまとめられてません!!
ただこのブログは毎日の活動を記すという裏設定もあるため、頑張ります.
前回UITableViewCellの非同期についてまとめましたが、なんと、そんなの無駄になるくらいな出来事が起きました。
Appleが提供しているサンプルコードがたくさんありました。
これもブログ書いたおかげで知れたという事で…(ポジティブ)
今回は非同期で画像をロードしているサンプルコード「LazyTable」について。
がっつりサンプルコードを読んだ訳じゃないので触り程度で。
【LazyTableAppDelegate.m/h】
毎回あるAppDelegateと一緒。非同期で画像データをxmlで取得している。
xmlの処理を別スレッドで【ParseOperation.m/h】に処理を任せている。
【AppRecord.m/h】
ダウンロードデータしたするアイコンとかなんか色々なデータを保持するクラス。
データ群は別にしておくと便利そう。これをView同士で共通のインスタンスで使えば値保持できるのかな。
奇麗にコード書くヒントになりそうな予感!
【IconDownloader.m/h】
ここでアイコンのダウンロードを行なう。
【RootViewController.m/h】
メインのクラス。ここでTableViewを使ってアイコンや名前などを表示している。
ドラッグ中、スクロールが止まらないとダウンロードは開始されない。
indexPathをキー、IconDownloaderクラスのインスタンスを値にしてダウンロードしている物を識別。
また、アイコンがダウンロードされていない場合はダウンロードするという処理付き。
流石サンプルコード。初心者にも読み易い!!
いくつかまだ理解出来てないのはあるけど、データを別のクラスで保持しておくのとか便利そう。
そういう場合はどうするんだろ、デリゲートで保持が無難?