微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

iPhone:UITableView reloadData计时问题

如何解决iPhone:UITableView reloadData计时问题

| 我遇到一个常见的TableView数据重新加载问题。我已经读过许多关于同一主题的问题,但是问题从来没有和我完全一样。 我有一个基于导航的应用程序。在RootViewController的viewDidLoad方法中,我发出了一个请求,以获取JSON数据(文章)。连接完成加载后,我为每个条目创建自定义Article对象。 Article类具有initWithDictionnary方法,该方法初始化对象的属性,最重要的是创建一个下载图像的请求。连接完成加载后,我将设置Article对象的image属性。 目标是使用下载的图像初始化cell.imageView.image属性。到那时,您可能已经猜到了问题所在。 在渲染单元格图像之后下载图像,因此它保持空白直到重新加载该单元格(例如,如果它退出屏幕然后又返回)。 我想我应该在某个时间调用reloadData,但我不知道何时。理想情况下,当所有单元都加载时,我会称呼它,但似乎不可能。 我已经尝试了一些疯狂的事情,例如等待单元加载,然后尝试重新加载前一个,但是它没有用。 通过在这里阅读问答,我了解了Apple的LazyTableImage示例代码,但是我不了解所有示例代码,因此不确定是否应该/可以使用它。 请问我是否需要更多详细信息。 在此先感谢您的帮助。     

解决方法

您必须异步加载图像。请记住,表数据应该每行包含一个字段,用于指定是否加载了图像,以便(如果为true)可以跳过加载并仅显示缓存的图像。 首先看这个问题:异步加载图像     ,大约有10个不错的延迟加载图像UITableView教程。选一个。 一段时间后,您将通过回顾这些教程来掌握它。坚持下去,这是一个重要的概念,不仅对于这个项目,对于您的编程生涯的其余部分也是如此。 延迟加载图像UITableView教程将使您变得更聪明!     

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。