Joh*_*ohn 11 iphone asihttprequest ios afnetworking
我正在尝试将我的代码从ASIHTTPRequest更改为AFNetworking.目前我想选择10-15个不同的HTTP URL(文件)并将它们下载到文档文件夹.
使用ASIHTTPRequest非常简单
[myQueue setDownloadProgressDelegate:myUIProgressView];
Run Code Online (Sandbox Code Playgroud)
在AFNetworking中我无法弄清楚如何做到这一点.我有以下代码下载文件,存储它们并在文件成功下载时通知,但我无法为此队列创建总大小的进度条.
for (i=0; i<3; i++) {
NSString *urlpath = [NSString stringWithFormat:@"http://www.domain.com/file.zip"];
NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:urlpath]];
AFHTTPRequestOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *path = [[paths objectAtIndex:0] stringByAppendingPathComponent:[NSString stringWithFormat:@"testFile%i.zip",i]];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:path append:NO];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject) {
NSLog(@"Successfully downloaded file to %@", path);
} failure:^(AFHTTPRequestOperation *operation, NSError *error) {
NSLog(@"Error: %@", error);
}];
[operation setDownloadProgressBlock:^(NSInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite) {
NSLog(@"Sent %d of %d bytes, %@", totalBytesWritten, totalBytesExpectedToWrite, path);
}];
[myQueue addOperation:operation];
}
Run Code Online (Sandbox Code Playgroud)
Jes*_*ock 12
我想你必须创建自己的UIProgressView,我将在这个例子中调用progressView.
progressVu = [[UIProgressView alloc] initWithFrame:CGRectMake(x, y, width, height)];
[progressVu setProgressViewStyle: UIProgressViewStyleDefault];
Run Code Online (Sandbox Code Playgroud)
然后只需更新进度条:
[operation setDownloadProgressBlock:^(NSInteger bytesWritten, NSInteger totalBytesWritten, NSInteger totalBytesExpectedToWrite) {
float percentDone = ((float)((int)totalBytesWritten) / (float)((int)totalBytesExpectedToWrite));
progressView.progress = percentDone;
NSLog(@"Sent %d of %d bytes, %@", totalBytesWritten, totalBytesExpectedToWrite, path);
}];
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
10333 次 |
| 最近记录: |