如何在iOS中构建“图像存储”?

时间:2012-01-09 10:06:19

标签: iphone ios

我正在为我的应用构建一个Image Store,基本上它是一个管理图像下载和缓存的单例(两个级别NSCache和核心数据)。

我想知道我是否可以使用块代替委托,我的意思是,对同一个图像可以有多个请求,我想通过“触发”它们在调用时提供的块来更新所有待处理的请求者。

是否可以在NSArray中存储块并在下载图像时调用它?这有意义吗?

如果在释放调用对象时触发了块怎么办?

由于

1 个答案:

答案 0 :(得分:0)

如果你有一个事件的观察者列表,那么你应该看一下NSNotification

每次下载图片时,您的单身人士都应该执行类似

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

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

任何对该图片感兴趣的人都应收到有关该图片的通知。

您可以扩展此模式以包含有关进度和下载失败的通知:)