0

NSURLSession 有NSURLSessionDataTask而且NSURLSessionDownloadTask我更喜欢数据,因为我不需要从文件系统中检索它。

NSURLSessionDownloadTaskDelegate有一个检索下载进度的方法,尽管数据对应项似乎没有。如果我想要下载进度,我需要使用NSURLSessionDownloadTask吗?

如果是这样,我了解NSURLSessionDownloadTask存储下载的文件,然后您检索它。这个存储文件的目录是否需要偶尔清空,或者它只是一个临时存储,一旦访问它就会被删除?

4

1 回答 1

0

我会为此使用AFNetworking。AFHTTPRequestOperation允许您设置用于跟踪进度的块

AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:YOUR_URL_REQUEST];

[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) 
{
     // Completion code.
} 
failure:^(AFHTTPRequestOperation *operation, NSError *error) 
{      
     // Error handling code.
}];

以下是跟踪进度的方法:

[operation setDownloadProgressBlock:^(NSInteger bytesWritten, long long totalBytesWritten, long long totalBytesExpectedToWrite) 
{
    float progress = ((float)((int)totalBytesWritten) / (float)((int)totalBytesExpectedToWrite));

   // Track the progress here

}];  
于 2014-02-19T22:27:37.470 回答