删除.sqlite文件后,日期仍在Core Data应用程序中

时间:2017-10-06 16:30:50

标签: swift core-data

我(最终)设法使用Core Data获取原型应用程序以持久保存到sqlite文件。退出并重新启动我看到相同的数据。所以一切似乎都很好。

我想现在再次从头开始,所以我去删除了sqlite持久化数据。我将它的位置设置为:

    open lazy var applicationDocumentsDirectory: NSURL = {
      // The directory the application uses to store the Core Data store file.
      let urls = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
      return urls[urls.count-1] as NSURL
    }()

    let url = self.applicationDocumentsDirectory.appendingPathComponent("TrainingDiary.sqlite")

将.sqlite文件放在〜/ Library / Containers / uk.me.stevenlord.Core-Data-Binding / Data / Documents

其中有四个文件:iChats,TrainingDiary.sqlite,TrainingDiary.sqlite-shm和TrainingDiary.sqlite-wal

我关闭了我的应用。删除所有文件。当我重新打开我的应用程序时,完整的Core Data模型仍然存在,当我回顾这个目录时,文件又回来了。

我错过了什么?

编辑: 我已经知道发生了什么,虽然我仍然不太明白为什么这是它的工作原理。上面的代码指定了应该保存核心数据的位置: 将.sqlite文件放在

~/Library/Containers/uk.me.stevenlord.Core-Data-Binding/Data/Documents/TrainingDiary.sqlite

但是我现在发现应用程序还保存了以下内容

~/Library/Containers/uk.me.stevenlord.Core-Data-Binding/Data/Library/Application Support/Core Data Binding/Core_Data_Binding.sqlite

我的XCode9项目称为“核心数据绑定”。如果我删除此文件并启动我的应用程序,我会得到一个没有预期数据的应用程序。

所以持久性存储不会到达我指定的位置。所以仍然困惑。

我还缺少一些东西。但不同的东西

0 个答案:

没有答案