在我的iPhone应用中,我正在使用默认的NSFileManager来复制和移动一些数据。数据量可能达到几MB,因此可能需要几秒钟才能完成复制。如果用户现在开始复制过程并退出应用程序,我可以在后台模式下继续写入磁盘吗?如果可以,该如何操作?我不想启动一个新的复制进程,而只是完成正在运行的进程。
我目前正在使用两种方法调用:
[imageData writeToFile:path atomically:YES];
并且
[fm copyItemAtPath:sourcePath toPath:destinationPath error:&error];
两个调用都包装在另一个方法中,并通过-performSelectorInBackground:withObject:
在后台执行。
另一个问题是我是否可以获得有关写操作进展到哪个阶段的任何信息,或者至少是否已经完成?
编辑:更多信息: 目前,我根本没有实现任何后台任务。当用户按下主页按钮时,正在运行的磁盘操作会发生什么?它们只是被切断了,文件不完整吗?我可以在下一次启动时继续写入吗?它们被取消了,不完整的文件被删除了吗?
总之,我正在将数据写入磁盘,希望在写入操作期间用户按下主页按钮时保持数据一致。我该如何做到这一点?