【问题标题】:how to make the images downloading from web fastly?如何使从网络上快速下载的图像?
【发布时间】:2013-05-10 06:05:45
【问题描述】:

我有一组图像 url(比如 count=10),我必须在 NSCollectionView 中显示图像。但是图像花了很多时间来显示。什么是延迟加载?我正在寻找 mac osx 而不是 IOS。

【问题讨论】:

  • 这完全取决于您的图像大小..
  • @murugha23 似乎已经回答了这个问题。你愿意接受其中一个回复吗?

标签: objective-c cocoa lazy-loading osx-snow-leopard


【解决方案1】:

如果您的图像未下载,您仍然可以显示您的视图。您只需显示一些占位符或活动指示器而不是每个图像,并且当您的每个图像完成下载时,您将占位符替换为正确的图像。只需确保在后台线程上下载图像并在主线程上执行替换。我建议使用 NSOperationQueue 在后台线程上下载。

【讨论】:

  • 是的,谢谢。我使用了 NSOperationQueue 和 NSInvocationOperation。他们工作得比我预期的要好。
【解决方案2】:

异步下载文件,不影响主线程

Lazy loading 是计算机编程中常用的一种设计模式,用于将对象的初始化推迟到需要它的时候。

即当图像可见时,只需要加载它。所以这样做。Collectionview 和 tableview 本身以这种方式填充

【讨论】:

  • 谢谢你。我使用了 NSOperationQueue 和 NSInvocationOperation。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-05-07
  • 2022-09-22
相关资源
最近更新 更多