在文档目录中保存图像

时间:2011-09-29 10:46:27

标签: iphone objective-c xcode

我正在uitableview中从网上下载图片,并希望保存在文档目录中。我正在同步下载。我成功下载并保存在文档目录中,但是当我每次保存图像时滚动uitable时,我想在下载时保存图像一次。我该怎么办?任何人都可以提供一些代码吗?任何帮助将不胜感激。

2 个答案:

答案 0 :(得分:0)

您应该从不使用同步下载。它会阻止你的UI,使你的UITableView滚动延迟,让用户认为你的应用已经冻结......非常糟糕的主意。

你应该总是使用NSURLConnection的{​​{1}}方法使用异步下载并自己实现委托方法(甚至可能专门用一个类来管理下载,就像每个人一样)

来自Apple文档的

See the LazyTableImages示例代码,它解释了如何异步加载图像以在TableView中显示它们,按需加载它们,并避免冻结UI。

永远不要在UITableView的委托方法中执行阻塞操作,如loadRequest:(我希望您也正确使用UITableViewCells的重用机制,以减少单元格分配。请参阅TableView编程关于这一点的指南)

使用NSURLConnection及其委托方法实现异步下载后,可以在tableView:cellForRowAtIndexPath:委托方法中移动将图像保存在文档文件夹中的代码(因此只保存一次,只有当他们被下载时)

答案 1 :(得分:0)

在didConnectionFinishLoading方法中保存图像。您也可以使用NSNotification来了解下载何时完成。 希望这些信息有用。