【问题标题】:ios load images from web server and show on UITableViewCellios 从网络服务器加载图像并在 UITableViewCell 上显示
【发布时间】:2012-09-24 13:25:39
【问题描述】:

对于 iPhone 5.0 (ARC),我从服务器以 json 形式获取大量图像(图像 url)和文本数据。我的要求是从服务器加载前五张图片,当用户向下滚动时加载接下来的五张图片,依此类推。我需要在 UITableViewCell 中显示它。通过这样做,我可以减少网络调用并使设备上的应用程序更快。

目前,我正在使用后台线程来加载图像,但它们会在后台持续加载。我不想这样。

【问题讨论】:

  • 我在这篇文章中没有看到一个问号。有问题吗?
  • 不……有示例代码的需求……!

标签: iphone ipad ios5


【解决方案1】:

我强烈建议您使用AFNetworking 框架(对于所有与网络相关的任务来说,它非常棒且完整)。

它带有UIImageView 上的类别,允许您直接从NSURL 设置UIImageViewimage,在后台为您管理所有内容,例如下载图像或从其获取图像缓存,如果您稍后更改URL,则取消请求以避免无用的请求等。

然后在您的tableView:cellForRowAtIndexPath: 中您可以简单地编写这种代码:

[cell.imageView setImageWithURL:yourURL];

你就完成了。即使在滚动时UITableView 的回收机制在起作用,它也会起作用,使用其他方法管理起来会很痛苦。

【讨论】:

  • 您在项目/工作区中导入并集成了AFNetworking 框架并导入了正确的标题,当然,在使用该行之前,对吧? 顺便说一句,如果您需要一些帮助,只是说“似乎不起作用”并不是很冗长,我们无法猜测您有什么错误消息;)
  • 哈哈!当然我做了一切;)问题是我指定的网址没有像JPG或PNG这样的扩展名..我尝试指定其他一些,它工作得很好..但我没有看到加载的大变化图片..无论如何现在都很好.. :)
【解决方案2】:

看看SDWebImage。这是一个非常简洁的库,可以异步下载图像并缓存它们。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-04
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多