在主线程上写数据,在背景踏步上写文件:
d.write(toFile: filePath, atomically: true) //d is NSDictionary
和
[archiveData writeToFile:randomPath atomically:YES]; //archiveData is NSData
但是他们没有引用相同的位置。应用程序可能会崩溃吗?
答案 0 :(得分:1)
您说“但他们指的不是同一位置”。你怎么知道的?你能保证吗?您的代码中没有任何禁止的内容。您怎么知道filePath
和randomPath
不会走同一条路?不要赌博协调文件写入。 (最简单的方法是在主线程上全部执行它们,但这不是唯一的方法,并且可能还不够;例如,您可以在此处使用NSFileCoordinator。)