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

时间:2015-04-10 13:57:11

标签: ios objective-c sync nscoding nskeyedarchiver

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

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

例如假设有100 MB的用户数据要保存 - 它可能需要一段时间(NSData writeToFile非常慢) - 所以如果用户关闭应用程序,那么写入过程是否会完成而你不会#39 ;你的数据是否已同步?

如果是这样,有没有办法阻止用户关闭应用程序,直到你完成保存?

1 个答案:

答案 0 :(得分:2)

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

非自然地允许写入和切断某些文件。

如果有一些原因导致应用程序在写入整个文件之前被终止并且您原子地使用该文件,则该文件将不会写入存储。这个过程将被杀死。

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