3

AFNetworkingフレームワークを使用してファイルをダウンロードし、ローカルファイルシステムに書き込みます。

ただし、ファイルが非常に大きくなる可能性があるため、を追加したいのですがUIProgressView、進行状況に応じて更新されるメソッドが見つからないようです。

setProgressBlockについて話している人がいますが、ドキュメントでこれに関する情報を見つけることができません:http: //afnetworking.org/Documentation/Classes/AFHTTPRequestOperation.html

これを行う方法はありますか?AFHTTPRequestOperationファイルのダウンロードに使用しています。

4

2 に答える 2

15

次のコードを参照してください。これは、AFNetworking コードを使用したファイルのダウンロードです。

NSURLRequest *request = [NSURLRequest requestWithURL:[NSURL URLWithString:@"http://blahblah.com/blahblah.mp3"]];
AFURLConnectionOperation *operation =   [[AFHTTPRequestOperation alloc] initWithRequest:request];

NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *filePath = [paths objectAtIndex:0] stringByAppendingPathComponent:@"blahblah.mp3"];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:filePath append:NO];
[operation setDownloadProgressBlock:^(NSInteger bytesRead, long long totalBytesRead, long long totalBytesExpectedToRead)
{
    myProgressView.progress = (float)totalBytesRead / totalBytesExpectedToRead;
}];
[operation setCompletionBlockWithSuccess:^(AFHTTPRequestOperation *operation, id responseObject)
{
    NSLog(@"downloadComplete!");
}];
[operation start];
于 2012-08-16T10:39:02.323 に答える
9

setDownloadProgressBlockメソッドは の一部であり、AFURLConnectionOperationそこからAFHTTPRequestOperation継承されます。そのため、ドキュメントには表示されませんAFHTTPRequestOperation。あなたが求めているドキュメントはここにあります:

http://cocoadocs.org/docsets/AFNetworking/1.3.1/Classes/AFURLConnectionOperation.html

于 2012-08-16T10:34:17.107 に答える