用KVO观察UIImage?

时间:2011-03-10 14:15:03

标签: iphone objective-c asynchronous uiimage key-value-observing

我的模型对象有一个 UIImage *iconImg ,通常会异步更新。我想允许其他类的实例优雅地观察对 myModel.iconImg 的任何更改。现在,我的异步图像获取类采用 UIImage** (是的,丑陋,但它正在工作)。然而,问题是通过指针弄乱UIImage会绕过我可能喜欢使用属性的任何KVO,所以我必须使用NSNotification,我不是很喜欢它。以下是主要要求:

  1. 我希望能够加载 iconImg ,即使没有任何视图可以显示它(即没有准备好UIImageView)
  2. 理想情况下,只有选择观察特定 myModel.iconImg 实例的实例才会知道更改(与我目前必须过滤的通知不同)
  3. 我有几个具有 iconImg 属性的模型类,所有这些都需要以这种方式工作,而不仅仅是一个
  4. 如有必要,我可以更改我的图片提取器类(这是当前的签名):

    + (BOOL)asyncImageFetch:(UIImage**)anImagePtr withURL:(NSURL*)aUrl;

  5. 不确定这是多么清楚,所以如果我能详细说明,请告诉我。

    谢谢,
    史蒂夫

1 个答案:

答案 0 :(得分:0)

对于有相似要求的人,请看一下SDWebImage(看起来像Olivier Poitrey是原作者)。 Github存储库在这里:https://github.com/rs/SDWebImage

我一直在使用它,非常好。