停止当前运行的writeToFile:

时间:2015-05-29 07:06:38

标签: cocoa

我有一些代码将一些PDFDocument对象写入用户选择的目标。这很好用。

也许其中一些文件(由用户选择)可能相当大(可能是数百兆字节),现在我想知道是否有可能取消当前的writeToFile:withOptions:电话(例如,用户改变了主意)并希望阻止它。)

1 个答案:

答案 0 :(得分:1)

我怀疑你能用这种方法做到这一点,因为它没有提供取消功能。

我建议您使用dataRepresentation PDFDocument方法首先获取PDF数据。然后,您可以使用NSData的{​​{1}}拆分数据。然后,您可以使用subdataWithRange:的{​​{1}},NSFileHandlefileHandleForWritingToURL:error:方法将数据连续写入文件。

从非主线程写出这样的块,在writeData: - 循环中说,你可以随时取消它。