2012-01-09 8 views
0

私は自分のアプリのImage Storeを構築していますが、基本的には画像のダウンロードとキャッシュを管理するシングルトン(2レベルNSCacheとCore Data)です。iOSで「イメージストア」を構築する方法は?

私は、デリゲートの代わりにブロックを使用することができるのだろうかというと、同じイメージに対して複数のリクエストがある可能性があるので、保留中のすべてのリクエスタを、コール時に提供したブロックを "トリガ"

イメージをダウンロードしたときにブロックをNSArrayに保存して呼び出すことはできますか?これは理にかなっていますか?

呼び出し元のオブジェクトの割り当てが解除されたときにブロックがトリガーされると、どうなりますか?あなたは、イベントのオブザーバーのリストを持っている場合は

おかげ

答えて

0

は、あなたの代わりにNSNotification sで確認する必要があります。

イメージがあなたのシングルトンが

NSDictionary *info = [NSDictionary dictionaryWithObjectsAndKeys: 
         image, @"image", 
         originalURL, @"imageURL", 
         nil]; 

[[NSNotificationCenter defaultCenter] postNotificationName:@"imageDownloaded" object:self userInfo:info]; 

ような何かをしなければならないし、その画像に興味のある人は、それについての通知を受信するダウンロードされるたびに。

このパターンを拡張して、進捗状況とダウンロード失敗に関する通知を含めることもできます。