UITableViewCellの再利用と非同期処理の話。
@sumihiro @nakiwo NSOperationQueueなんか使わず自前でちゃんとキューを管理すればいいだけじゃね?
2013-12-11 09:58:50@sumihiro @nakiwo リサイズ?ダウンロードとセットで別スレッドで回せばいいんじゃね?リサイズはすぐに終わるし,リサイズを別スレッドでまわしてリサイズ中にキャンセルするのはあんまり効率的じゃないと思う
2013-12-11 10:01:09@sumihiro @sonson_twit NSOperationQueueを使うかどうかはともかく、GCD投げっぱなし放置なサンプルコードが気になる、という事では
2013-12-11 10:00:52@nakiwo @sumihiro GDCの使い方は間違ってるとは言えないけど,簡単にキャンセルできない処理を突っ込んでるのはそれを理解してないと後々,不都合が出るでしょうね・・・・
2013-12-11 10:03:23@sumihiro @nakiwo @sonson_twit 僕はGCD使いますけど、読み込みを開始したindexPathと終了して表示する時のindexPathを比較して同じ時だけimageを更新しますね。
2013-12-11 10:09:00@tomohisa @nakiwo @sonson_twit 正しい対象に画像をセットするのはそれでもいいとは思うのですが、非同期処理のキューが溜まっていく問題はそれでは解決できないですよね。
2013-12-11 10:10:12@sumihiro @tomohisa @nakiwo ダウンローダの実装をスレッドをロックしないものにして,キャンセルできるようにしておき,コールバック先のセルが再利用のタイミングでダウンロードスレッドをキャンセルするというのがいいんじゃない?というそれしかないと思う
2013-12-11 10:12:42@sonson_twit @tomohisa @nakiwo そうそう、解としてはそれがベストなんやろうなーと。ダウンロードするにせよ、画像をリサイズするにせよ。ともかく、なんでもdipatch_async一発で済ませるのは危ないよなーという話。
2013-12-11 10:14:08GCDの勉強をするならこの一冊。