当 nscoding writeToFile 正在保存并且用户关闭应用程序时 iOS 会发生什么?

what happens in iOS when nscoding writeToFile is saving and user closes the app?

当 nscoding writeToFile 正在保存并且用户关闭应用程序时 iOS 会发生什么?

    NSData *d = [NSKeyedArchiver archivedDataWithRootObject:self];
    [d writeToFile:FILE_PATH atomically:YES];

例如,假设有 100 MB 的用户数据要保存 - 这可能需要一段时间(NSData writeToFile 真的很慢) - 所以如果用户关闭应用程序,写入过程是否不会完成,你会不会没有同步您的数据?

如果是这样,有没有办法阻止用户在您完成保存之前关闭应用程序?

原子地,简单地说,make 确保写入所有文件或NONE。

Nonatomically 允许部分文件被写入和截断。

如果出于某种原因应用程序在写入整个文件之前终止并且您正在使用原子方式,则该文件将不会写入存储。该进程将被杀死。

如果文件那么大,我建议启动某种加载屏幕,告诉用户不要关闭应用程序,并在完成后隐藏加载屏幕,让他们知道可以关闭应用程序。