我正在开发一款应用程序,需要能够显示离线视频,这些视频需要先下载。
问题是这些视频可能比我可以分配给我的应用程序的内存还要大。因此,已经下载的部分必须立即保存,而不是保存在NSData对象中。关于是否应该使用RESTKit,我听到了矛盾的说法,而ASIHTTPRequest似乎已经被弃用了。
我将遵循本主题的建议,因为它似乎是最佳选择。
我正在开发一款应用程序,需要能够显示离线视频,这些视频需要先下载。
问题是这些视频可能比我可以分配给我的应用程序的内存还要大。因此,已经下载的部分必须立即保存,而不是保存在NSData对象中。关于是否应该使用RESTKit,我听到了矛盾的说法,而ASIHTTPRequest似乎已经被弃用了。
我将遵循本主题的建议,因为它似乎是最佳选择。
NSURLConnection
下载视频文件并将数据直接写入文件 (NSFileHandle
)。NSURLConnection
的 didReceiveData
代理方法会不断被调用,因此您可以更新进度条。看看 AFNetworking 来管理网络。我不确定他们是否有视频下载功能,但该框架非常适用于图片和其他类型的下载,我以前也使用过。
不想解释如何通过块和流处理HTTP响应的所有麻烦,我建议使用AFDownloadRequestOperation。它支持恢复下载,并具有显示下载进度的回调函数。我喜欢它,并在大多数项目中使用它。
P.S. 它使用AFNetworking,这是一个用于进行各种HTTP请求的优秀框架。