iOS中的多个持久性存储协调器

时间:2015-11-22 07:28:07

标签: ios objective-c core-data

我想澄清一下iOS中的多个持久性商店协调员。多个持久性存储协调器是否意味着多个数据库实例?这意味着sqlite的不同实例在sqlite数据库的不同实例中具有不同的表。如果可能,那么在什么情况下,我们必须实现一个例子。任何人都可以帮我澄清这一点。

1 个答案:

答案 0 :(得分:6)

来自文档:

  

持久性存储协调器关联持久对象存储和托管对象模型

https://developer.apple.com/library/ios/documentation/DataManagement/Devpedia-CoreData/Art/advanced_persistent_stack.jpg

用简单的英语,对于合理的人,有一些简化:

  • 托管对象模型描述了实体是什么,以及它们之间有什么关系(如果有的话)。 MOM本质上是一种静态资源。

  • 托管对象上下文是链中的一个链接,其根是持久性存储协调器。托管对象上下文维护实体的状态,通常在内存中。完成对此类对象的操作后,您可以保存此类MOC,通常是保存到持久性存储协调器。应用程序可以具有并发MOC,一个用于UX线程,一个或多个用于后台线程,例如同步。

  • 持久存储协调员在一端与持久存储或持久存储进行通信,在另一端与MOC进行通信。虽然它很聪明,甚至建议随意创建MOC,以便可以自由地操作对象,但每个数据库只需要一个PSC。

  • 持久对象存储是数据库的接口。每个数据库一个。

对于外行人:

  • 妈妈:只有1(忽略数据库升级和此类并发症)
  • MOC :每个帖子一个。简单的应用程序可以使用单个UX,但要注意冗长的操作。
  • PSC :每个MOM一个
  • POS :至少一个