如何观察 Core Data 持久存储在包含应用程序和扩展程序之间的变化

Posted

技术标签:

【中文标题】如何观察 Core Data 持久存储在包含应用程序和扩展程序之间的变化【英文标题】:How to observe Core Data persistent store changing between containing app and extension 【发布时间】:2015-02-06 16:40:00 【问题描述】:

我在共享应用程序组中设置了 sqlite 文件,包含应用程序和应用程序扩展都可以将实体写入商店。问题来了:当包含应用程序和扩展程序同时运行时,当我从扩展程序添加新实体时,如何让包含应用程序知道商店已更改并让它执行刷新?反之亦然?

【问题讨论】:

见***.com/questions/28197360/… 谢谢,汤姆。得到了一些灵​​感。 【参考方案1】:

我最终完成了一个 Swift 项目:https://github.com/cxa/AppExtensionCommunicator

简而言之,您可以处理CFNotificationCenterGetDarwinNotifyCenter() 发布的通知,这种类型的通知可以在扩展程序及其包含的应用程序之间传递。检查项目以了解详细信息。

【讨论】:

以上是关于如何观察 Core Data 持久存储在包含应用程序和扩展程序之间的变化的主要内容,如果未能解决你的问题,请参考以下文章

从内存的角度来看,具有非持久存储的 NSArray 和 Core Data 是如何工作的?

Core Data 应用程序不会从持久存储中加载数据

Core Data SQLite 存储在更新后变为只读

Core-Data:想要将新的 web xml 内容持久保存到我的数据存储中,而不是替换现有的

Core Data:为啥要创建自定义持久存储?

Core Data - 无法在 iOS 5.1 上创建持久存储