Tag: 操作

在iOS中使用进度报告取消一组asynchronous操作

假设我使用另一个SDK(我没有控制权)与asynchronous导入1个文件的API,并在完成时调用完成callback。 以下是一个示例API。 func importFile(filePath: String, completion: () -> Void) 我需要使用此API导入10个文件(一个接一个),但我需要它是可取消的,例如,在成功导入文件1,2,3后,导入文件4时,我希望能够取消整个操作(导入10个文件),这样文件4将完成(因为它已经开始),但是文件5-10不会被导入。 另外,我还需要汇报import情况。 当文件1导入成功时,我应该报告10%的进度(十分之一已经完成)。 我怎样才能做到这一点? 我正在考虑使用NSOperationQueue和10个NSOperations,但是进度报告似乎很难。