gpt4 book ai didi

ios - NSData 写入文件 :atomically: doesn't immediately save the file

转载 作者:可可西里 更新时间:2023-11-01 03:59:34 24 4
gpt4 key购买 nike

我正在从网络上将 SQLite 数据库下载到我的 iPad 应用程序中。如果我将它写入磁盘设置 atomically: YES 我不能立即使用它,因为即使文件在那里,sqlite 也会提示表不在那里。如果我使用 atomically = NO 或者我延迟打开文件几秒钟,那么我就没有这个问题。

我想我可以通过设置 atomically = NO 来解决这个问题,但是是否有某种保证整个文件已经写入磁盘在 writeToFile: 调用之后? 到目前为止,我的数据库还没有那么大,但最终会变大,而且我不知道在其他设备上要等待多长时间。

Apple 文档说如果操作成功此方法返回 YES 但显然这没有考虑保存文件的“延迟”。

非常感谢任何帮助!

编辑:我看到其他人有 the same problem .

最佳答案

根据链接,操作将完全写入或失败。

考虑到这一点,在另一个线程上以原子方式写入,然后执行类似的操作!

while (![[FileManager defaultFileManager] fileExistsAtPath:yourEventualDBPath]) {

[NSThread sleepForTimeInterval:.5];

}

关于ios - NSData 写入文件 :atomically: doesn't immediately save the file,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11161079/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com