iOS14小部件可以请求主应用程序更新其数据吗?

问题描述

我的应用程序需要最新数据,但是主应用程序可能有旧数据。

所以我想请求主应用程序更新其数据。

有可能吗?

如果不是,我想知道其他方法

(窗口小部件应该向服务器请求最新数据吗?)

谢谢

=== 更新

我发现许多教程,并且所有教程都使用getTimeline方法中的http请求来获取最新数据(不是从主应用程序中获取)。这不是我想要的。

有人说,在主应用程序和小部件之间共享数据的最简便方法是使用UserDefaults。但是,如果主应用程序不更新用户认值或使用旧数据更新值,则数据可能会很旧。 (服务器数据旁边总是最新数据)

所以我想知道的是'widget使主应用程序更新其数据并更新userdefault并调用reloadTimelines的方式。因此小部件可以使用最新数据。

解决方法

小部件无法告诉其父应用刷新其数据。

您可以:

with modifiers "public"

实际上,最好直接在Widget中获取数据。这样,您只能获取必需的数据-小部件视图通常显示的信息少于应用程序视图。

,

是的,您可以这样; 当创建用于小部件更新的TimelineProvider时,您必须实现此功能,

class

此功能正在等待创建小部件更新时间轴。您可以提出请求,在响应之后,您可以创建时间轴并返回func的完成。