Swift 核心数据在Xcode升级后似乎丢失了数据

Swift 核心数据在Xcode升级后似乎丢失了数据,swift,xcode,core-data,Swift,Xcode,Core Data,这是我的核心数据应用程序第二次“丢失”(解释如下)数据。我不确定这与Xcode的更新有关,但我今天确实更新到了9.4(我不记得上次是否有更新)。我昨天输入数据,然后关闭应用程序,重新打开应用程序,一切正常;所有的数据都在那里。今天我打开应用程序时,没有数据。我的应用程序打印出数据库的位置(print(container.persistentstorescriptions)),当我查看那里的sqlite文件时,它有25KB 在不可思议的深文件夹路径中搜索,我发现一个文件说它昨天被修改了,当我查看那

这是我的核心数据应用程序第二次“丢失”(解释如下)数据。我不确定这与Xcode的更新有关,但我今天确实更新到了9.4(我不记得上次是否有更新)。我昨天输入数据,然后关闭应用程序,重新打开应用程序,一切正常;所有的数据都在那里。今天我打开应用程序时,没有数据。我的应用程序打印出数据库的位置(print(container.persistentstorescriptions)),当我查看那里的sqlite文件时,它有25KB

在不可思议的深文件夹路径中搜索,我发现一个文件说它昨天被修改了,当我查看那里的sqlite文件时(使用sqlite的DB Browser),数据都在那里(也是25KB)。似乎Xcode忘记了将数据放在哪里。还有其他人经历过吗


我该如何着手解决这个问题?我想我可以将SQLite数据库从它实际所在的位置复制到Xcode认为它所在的位置(其他文件还有.SQLite shm和.SQLite wal?)

在Xcode更新之后,最初运行的设备是iPhone 8,而在更新之前,我一直在iPad模拟器上运行它


每个模拟器都有自己的文件夹和自己的sqlite文件。因此,如果您想查看以前iPad模拟器中的数据,您需要从新的Xcode运行相同的iPad模拟器。如果将sqlite文件从一个模拟器文件夹复制到另一个文件夹,请确保也复制-shm和-wal文件。

文件
.sqlite shm
的大小是多少?在DB Browser for sqlite中加载文件之前,是否已将这些文件复制到.sqlite的位置?这些文件的大小似乎不一致。今天,-shm在实际位置和Xcode认为数据库所在的位置都是33 kB。今天-wal是零字节,但我记得昨天它相当大。我还没有移动或复制任何文件。我注意到的另一件事是,在Xcode更新之后,最初运行的设备是iPhone8,而在更新之前,我一直在iPad模拟器上运行它;不确定这是否相关。
我还没有移动或复制任何文件。
这可能就是问题所在。我也遇到过同样的问题,当我将所有文件(-shm,-wal)复制到文件夹(哪个文件夹有.sqlite文件,或者将包括sqlite文件在内的所有文件复制到桌面)时,DB Browser会正确显示所有表,即使sqlite文件太小。在某处阅读:-shm,-wal是sqlite支持的文件,这些文件已提交更改,但可能/可能不会写入sqlite文件。