Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/iphone/42.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios UIProgressview即使在主线程上第二次更新其进度时也不更新其进度_Ios_Iphone_Xcode6_Ios Simulator - Fatal编程技术网

Ios UIProgressview即使在主线程上第二次更新其进度时也不更新其进度

Ios UIProgressview即使在主线程上第二次更新其进度时也不更新其进度,ios,iphone,xcode6,ios-simulator,Ios,Iphone,Xcode6,Ios Simulator,请不要将其标记为重复,因为类似的问题很少,但我的问题有点不同 当我导航到特定的UIViewController时,我无法第二次更新UIProgressview进度 场景:在我的应用程序主页屏幕中,我在“收藏”视图中有不同类别的动画视频列表。单击特定动画类别时,它将导航到动画详细信息(我使用了导航控制器)。在这个屏幕上,我还可以查看多个相关的动画视频,也可以选择下载视频。我已经使用UIProgress视图来显示下载的进度 在我第一次导航到详细屏幕并下载视频时,UIProgress视图工作正常,相应

请不要将其标记为重复,因为类似的问题很少,但我的问题有点不同

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

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

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

现在的问题是当我导航回主页并选择动画视频的不同类别,然后再次导航到详细屏幕时。这一次当点击下载视频按钮时,视频开始下载,但这一次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];

}

请任何人帮帮我。谢谢

您是否使用NSLog检查updateProgress方法中的进度值?将日志记录添加到updateProgress,并确保downloadProgress不为零。甚至询问控件的当前值并记录。是的,我已经记录了进度值,它们不是零。它们介于0.1-1.0之间。您正在使用导航控制器。你是在用pop/push视图控制器来回切换吗?丽图:是的,我是在用pop/push视图控制器来回切换。