2017-07-06 65 views
1

我们希望设置一个设置包属性,该属性可以设置为删除使用核心数据存储的所有信息。我看到一些循环遍历所有实体并调用delete的示例。我看到一些操纵存储商店的文件。这最后一种方式听起来更好,但我不确定这是否符合NSPersistentContainer的魔力。iOS 10+使用NSPersistentContainer - 什么是“全部清除”的最佳方法

在iOS上10,什么是删除在核心数据的所有内容,并继续在应用节能新获取的数据,核心数据的最佳方式?

回答

0

我还没有尝试过,但这里是我想我会做的事:

  1. 创建一个新的目录,你会保持你持久存储和其他任何NSPersistentContainer要救。请确保在应用启动时使用FileManager创建此目录。您将使用此核心数据通过...
  2. 子类NSPersistentContainer和覆盖defaultDirectoryURL()。使用步骤1中的目录。

现在您可以确定持久容器写入的所有内容都位于不包含任何其他内容的已知位置。

当要删除一切,只是删除您正在使用该目录的所有文件(再次使用FileManager)。请确保在加载任何数据之前执行此操作

相关问题