iOS 14 小部件:如何确保数据是最新的
iOS 14 widget: How to ensure that data is current
我有一个 SwiftUI 项目,我正在其中实现一个 iOS 14 小部件。
主应用程序使用 iCloud/CloudKit 来保存用户的统计数据,而小部件会获取并显示这些统计数据。
我担心的是小部件和主应用程序可能会不同步 -- 小部件可能会显示 过时 统计数据。
场景如下:
- 用户打开主应用程序,他们的统计数据发生了变化。
- 用户关闭了主应用程序,发现小部件尚未刷新,因此它显示的是过时的统计数据。
问题:是否有处理这种情况的推荐策略——也许在主应用程序关闭时以某种方式更新小部件?我阅读了文档——具体来说,the article“使小部件保持最新状态”,但我没有看到任何相关信息。
谢谢!
据我了解,您可以request a widget refresh from your main app使用以下代码:
WidgetCenter.shared.reloadTimelines(ofKind: "com.mygame.gamestatus")
这应该可以解决问题。
我有一个 SwiftUI 项目,我正在其中实现一个 iOS 14 小部件。
主应用程序使用 iCloud/CloudKit 来保存用户的统计数据,而小部件会获取并显示这些统计数据。
我担心的是小部件和主应用程序可能会不同步 -- 小部件可能会显示 过时 统计数据。
场景如下:
- 用户打开主应用程序,他们的统计数据发生了变化。
- 用户关闭了主应用程序,发现小部件尚未刷新,因此它显示的是过时的统计数据。
问题:是否有处理这种情况的推荐策略——也许在主应用程序关闭时以某种方式更新小部件?我阅读了文档——具体来说,the article“使小部件保持最新状态”,但我没有看到任何相关信息。
谢谢!
据我了解,您可以request a widget refresh from your main app使用以下代码:
WidgetCenter.shared.reloadTimelines(ofKind: "com.mygame.gamestatus")
这应该可以解决问题。