我们怎样才能在Coredata中拥有多个模式的概念

时间:2018-04-22 10:41:14

标签: ios core-data schema

在Sqlite中,我们可以根据用户登录或基于其他一些逻辑创建多个模式。我们如何在iOS应用程序中使用CoreData框架实现类似的概念。

我的iOS App有多用户登录。我希望通过登录使用该应用程序的用户可以离线使用。类似于SQLite中的模式,其中数据不会添加到相同的表中,我在Core Data中寻找类似的模式。

1 个答案:

答案 0 :(得分:0)

拥有每用户数据的最直接方法是在有人注销时删除所有用户数据。 NSPersistentStoreCoordinator有一个名为destroyPersistentStore(at:ofType:options:)的方法,旨在完成这项工作。它将删除与特定持久性存储关联的所有文件。使用此方法时,您需要小心不要对从该商店提取的任何内容保留任何内存引用,因为它们将不再起作用,并且如果您尝试使用它们几乎肯定会使应用程序崩溃。 / p>

在相关的一点上,意味着拥有多个架构并删除架构,正如您在评论中提到的那样,这里没有意义。在Core Data中,数据模型用于与关系数据库模式类似的目的。它定义了模型中可以存在的类和关系,但它不包含实际数据。这与database schema的想法相同,它定义了可以存在于数据库中但与数据不同的表等等。