即使在主线程

时间:2015-05-14 11:36:19

标签: ios iphone xcode6 ios-simulator

请不要将其标记为重复,因为几乎没有类似的问题,但我的问题有点不同。

当我导航到特定的UIViewController时,我第二次更新了UIProgressview进度。

场景:在我的应用主页屏幕中,我在集合视图中有不同类别的动画视频列表。单击特定动画类别时,它将导航到动画详细信息(我已使用导航控制器)。在这个屏幕上,我还可以查看多个相关的动画视频,还可以选择下载视频。我使用了UIProgress视图来显示下载的进度。

第一次导航到详细屏幕并下载视频时,UIProgress视图工作正常并且相应的下载进度。在同一个屏幕上,我也可以在UIProgress视图正常工作的情况下下载另一个相关视频。

现在问题是我导航回主页并选择不同类别的动画视频,然后再次导航到详细屏幕。这次点击下载视频按钮视频开始下载,但这次UIProgress视图没有更新进度

注意:我在主线程上更新了UIProgress视图的进度。

以下是我的代码:

#pragma mark- NSURLSession Delegate method

-(void)URLSession:(NSURLSession *)session downloadTask:(NSURLSessionDownloadTask *)downloadTask didWriteData:(int64_t)bytesWritten totalBytesWritten:(int64_t)totalBytesWritten totalBytesExpectedToWrite:(int64_t)totalBytesExpectedToWrite{

double Progress = (double)totalBytesWritten / (double)totalBytesExpectedToWrite;
NSLog(@"Progressview progress : %f",Progress);
if (totalBytesExpectedToWrite == NSURLSessionTransferSizeUnknown) {
    NSLog(@"Unknown transfer size");
}
else{
    [self performSelectorOnMainThread:@selector(updateProgress:) withObject:[NSString stringWithFormat:@"%f",Progress] waitUntilDone:NO];
}
}


-(void)updateProgress:(id)progress {

float currentProgress = [progress floatValue];
[downloadProgress setProgress:currentProgress animated:YES];
[self.downloadProgress setNeedsDisplay];

}

请有人帮助我。谢谢!

0 个答案:

没有答案