【发布时间】:2014-10-03 12:12:16
【问题描述】:
我正在使用 AFNetworking,并且我有一个 AFURLConnectionOperation 来下载文件 - 如下所示:
AFURLConnectionOperation *operation = [[AFHTTPRequestOperation alloc] initWithRequest:request];
operation.outputStream = [NSOutputStream outputStreamToFileAtPath:filePath append:NO];
[operation setDownloadProgressBlock:^(NSUInteger bytesRead,long long totalBytesRead,long long totalBytesExpectedToRead) {
// Update progress stuff
}];
[operation setCompletionBlock:^{
// Do completion stuff
}];
[operation start];
此代码包含在一个方法中,并且运行良好....直到我尝试下载第二个文件。
此时,第一个操作的downloadProgressBlock 完全停止调用。 但是,第一次下载仍在继续,最后调用completionBlock - 只是没有任何进度更新。
我认为这可能与保留/ARC/其他任何东西有关,但老实说我不知道 - 这对我来说没有意义。一切正常,直到第二次下载开始,尽管这些方法是单独调用的,operation 变量和进度块不相互依赖,相互引用或做任何彼此相关的事情!
编辑:我还没有找到这个问题的原因/解决方案,但我找到并发布了一个解决方法,使用不同的 AFNetworking 方法下载文件。如果有人可以解决原始问题,请发布答案,我将奖励您。
【问题讨论】:
标签: ios objective-c afnetworking