在保存到相机胶卷期间,如何确定已下载了多少?

时间:2013-03-08 04:52:46

标签: ios objective-c uiprogressview

我想在用户将图像保存到相机胶卷时显示UIProgressView

我需要知道在给定点下载了多少图像以确定进度指示器应显示的内容。我该如何确定?

我正在做类似的事情:

- (void)updateSaveProgressBar
{    
  if ([self.saveProgressView progress] < 1) {
    self.saveProgressView.progress = (float)receivedData / (float)totalData;
    [NSTimer scheduledTimerWithTimeInterval:0.05 target:self selector:@selector(updateSaveProgressBar) userInfo:nil repeats:NO];
  }
}

self.saveProgressViewUIProgressView。在此示例中,如何确定receivedData

的值

感谢。

1 个答案:

答案 0 :(得分:0)

为了显示远程文件下载的进度,您必须使用NSURLConnection进行异步下载,并在每次连接接收数据(connection:didReceiveData:)时更新进度。连接成功完成后,您可以致电UIImageWriteToSavedPhotosAlbum将图像保存到相机胶卷。此外,UIImageWriteToSavedPhotosAlbum具有回调选择器以在保存完成时调用,您可以使用该选择器向用户显示下载和保存图像的所有过程都已完成。

UIImageWriteToSavedPhotosAlbum(image, self, @selector(image:didFinishSavingWithError:contextInfo:), NULL);

完成选择器

- (void)               image: (UIImage *) image
    didFinishSavingWithError: (NSError *) error
                 contextInfo: (void *) contextInfo
{

}

祝你好运!