我有一个将 Core Data 与 CloudKit 一起使用的应用程序。更改在设备之间同步。
主要目标具有选中“远程通知”的背景模式功能。主要目标和小部件目标都具有相同的应用程序组,并且都具有 iCloud 功能,服务设置为 CloudKit,并且容器中的相同容器已选中。
为了从小部件访问 Core Data 数据,我使用 CoreDataStack,如本答案所示。在 WidgetKit 文件中,我有一个执行获取请求并返回的函数Int
——来自该请求的行数。稍后我在小部件视图中显示该数字。
但是,如果 CloudKit 中的 Core Data 数据发生变化,例如在另一个设备上用户添加或删除记录,那Int
可能是不正确的。
当发生此类更改时,如何请求更新 WidgetKit 时间线条目?(如果数据在另一台设备或当前设备上发生更改。)谢谢。