gpt4 book ai didi

swift - iOS14 WidgetKit 可以请求主应用程序更新其数据吗?

转载 作者:行者123 更新时间:2023-12-03 23:43:38 29 4
gpt4 key购买 nike

我的应用程序需要最新数据,但主应用程序可能有旧数据。
所以我想请求主应用程序更新其数据。
是否可以?
如果不是,我想知道任何替代方法。
( WidgetKit 是否应该向服务器请求最新数据??)
谢谢
===
更新
我找到了很多教程,并且所有教程都使用来自 getTimeline 的 http 请求获取最新数据的方法(不是来自主应用程序)。这不是我想要的。
有人说在主应用程序和 WidgetKit 之间共享数据的最简单方法是使用 UserDefaults。但是,如果主应用程序不更新用户默认值或使用旧数据更新值,则数据可能是旧的。 (除了服务器数据总是最新的数据)
所以我想知道的是“WidgetKit 使主应用程序更新其数据并更新用户默认值并调用reloadTimelines”的方式.所以 WidgetKit 可以使用最新数据。

最佳答案

Widget 无法告诉其父应用程序刷新其数据。
您可以:

  • 直接在 Widget 中获取数据 - 参见:How to refresh Widget data?
  • 在应用程序中启用后台通知(参见 How to run code when your app is terminated),当收到通知时,强制 WidgetKit 使用以下命令刷新其时间线:
  • WidgetCenter.shared.reloadAllTimelines()
    实际上,直接在 Widget 中获取数据可能更好。这样你就可以只获取必要的数据—— WidgetKit View 显示的信息通常比应用程序 View 少得多。

    关于swift - iOS14 WidgetKit 可以请求主应用程序更新其数据吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64256840/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com