我需要一个响应可可下载完成百分比的进度条。我认为这可能会使用像NSProgressindicator和NSTask这样的东西。我不确定是否有一种“官方”方法可以在可可中下载文件,因为到目前为止我只使用了curl和NSTask。感谢您的回复。
答案 0 :(得分:7)
使用NSURLConnection
。它具有delegate属性,这意味着它会定期告诉您它已收到更多数据(然后您必须自己保存到文件中)。但是,它还告诉您何时开始检索文件,如果您通过HTTP下载文件(我认为这是一个安全的假设),它很可能会有一个Content-Length:
HTTP header,所以你可以知道你set as the maxValue
NSProgressIndicator
的内容是什么。然后只需incrementBy:
数据your connection has told you it just received的大小。
如果由于某种原因你得到chunked HTTP transfer,那么只有set the progress bar to be indeterminate,因为这是分块转移的全部要点(你不知道它会有多大)。
答案 1 :(得分:3)
我不确定是否有一个“官方”方法可以在cocoa中下载文件...