我正在uitableview中从网上下载图片,并希望保存在文档目录中。我正在同步下载。我成功下载并保存在文档目录中,但是当我每次保存图像时滚动uitable时,我想在下载时保存图像一次。我该怎么办?任何人都可以提供一些代码吗?任何帮助将不胜感激。
答案 0 :(得分:0)
您应该从不使用同步下载。它会阻止你的UI,使你的UITableView滚动延迟,让用户认为你的应用已经冻结......非常糟糕的主意。
你应该总是使用NSURLConnection
的{{1}}方法使用异步下载并自己实现委托方法(甚至可能专门用一个类来管理下载,就像每个人一样)
See the LazyTableImages示例代码,它解释了如何异步加载图像以在TableView中显示它们,按需加载它们,并避免冻结UI。
永远不要在UITableView的委托方法中执行阻塞操作,如loadRequest:
(我希望您也正确使用UITableViewCells的重用机制,以减少单元格分配。请参阅TableView编程关于这一点的指南)
使用NSURLConnection及其委托方法实现异步下载后,可以在tableView:cellForRowAtIndexPath:
委托方法中移动将图像保存在文档文件夹中的代码(因此只保存一次,只有当他们被下载时)
答案 1 :(得分:0)
在didConnectionFinishLoading方法中保存图像。您也可以使用NSNotification来了解下载何时完成。 希望这些信息有用。