iOS 10+使用NSPersistentContainer - 什么是“清除所有”的最佳方法

时间:2017-07-06 15:10:53

标签: ios core-data ios10

我们想要一个设置包属性,可以设置为删除使用核心数据存储的所有信息。我看到一些循环遍历所有实体并调用delete的示例。我看到一些操纵存储商店的文件。最后一种方式听起来更好但我不确定它是如何融入NSPersistentContainer的魔力的。

在iOS 10上,删除Core Data中所有内容并在应用程序中继续将新获取的数据保存到Core Data的最佳方法是什么?

1 个答案:

答案 0 :(得分:0)

我没有尝试过,但这就是我认为我会做的事情:

  1. 创建一个新目录,您将保留持久存储以及NSPersistentContainer想要保存的任何其他内容。确保在应用程序启动时使用FileManager创建此目录。您将通过...使用此数据与核心数据
  2. NSPersistentContainer进行子类化并覆盖defaultDirectoryURL()。使用步骤1中的目录。
  3. 现在,您将确保持久性容器写入的所有内容都位于不包含任何其他内容的已知位置。

    如果要删除所有内容,只需删除您正在使用的目录中的每个文件(再次使用FileManager)。确保加载任何数据之前执行此操作。