我从服务器下载文件。当文件下载时,我想显示表格单元格中的百分比进度。我怎么能这样做?
下载文件代码
NSArray *paths = NSSearchPathForDirectoriesInDomains(NSDocumentDirectory, NSUserDomainMask, YES);
NSString *documentsDirectory = [paths objectAtIndex:0];
NSString *filePath = [documentsDirectory stringByAppendingPathComponent:@"01.mp3"];
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0), ^{
BOOL fileExists = [[NSFileManager defaultManager] fileExistsAtPath:filePath isDirectory:NO];
if (!fileExists) {
NSString *stringURL = @"https://drive.google.com/uc?export=download&id=0B6zMam2kAK39X0FOaUJXVDUwOHc";
NSURL *url = [NSURL URLWithString:stringURL];
NSData *urlData = [NSData dataWithContentsOfURL:url];
[urlData writeToFile:filePath atomically:YES];
}
});
self.audioPlayer = [[AVAudioPlayer alloc] initWithContentsOfURL:[NSURL URLWithString:filePath] error:nil];
}
答案 0 :(得分:0)
[NSData dataWithContentsOfUrl]
无法做到这一点。您需要一个库,例如AFNetworking
答案 1 :(得分:0)
创建自定义单元格XIB文件,在其上添加进度条
在视图控制器中开始下载,访问进度条并在 didReceiveData 方法中设置进度
我刚刚在视图控制器中创建,你需要将它与表视图方法一起使用
代码示例:
var
Pts: TArray<TPointDouble>;
i: Integer;
begin
Pts := CalcRingPoints(1, 2, 0.2, 0.5);
for i := 0 to High(Pts) do
Memo1.Lines.Add(Format('%d r:%5.4f x:%f y:%f',
[i, Hypot(Pts[i].X, Pts[i].Y), Pts[i].X, Pts[i].Y]));
//37 points
结果看起来像