サンプルコードを読む〜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クラスのインスタンスを値にしてダウンロードしている物を識別。

また、アイコンがダウンロードされていない場合はダウンロードするという処理付き。

 

流石サンプルコード。初心者にも読み易い!!

いくつかまだ理解出来てないのはあるけど、データを別のクラスで保持しておくのとか便利そう。

そういう場合はどうするんだろ、デリゲートで保持が無難?