4

我正在使用一个UIKit应用程序并添加了一个带有SwiftUI和的小部件Widgetkit。现在我想在用户在主应用程序中执行某项操作时更新小部件。

通常我应该使用 WidgetCenter.shared.reloadAllTimelines()对吗?但这仅适用于SwiftUI.

我可以说我的小部件应该每秒重新加载一次。但我的小部件执行 json 请求。那也会每秒执行一次我不想要的 json 请求。

供您参考。主应用程序UserDefaults与小部件共享。根据UserDefaults它读取它并改变它的外观。

现在,小部件在第一次添加时会加载正确的 UserDefault。但正如我所说,更改添加的小部件不起作用。

我想删除和添加小部件不是一个用户友好的选项。

4

1 回答 1

7

WidgetCenter.shared.reloadAllTimelines()独立于您使用的 UI 框架。您可以从 SwiftUI 或 UIKit 中使用它。

如果您担心发出太多请求,您可以仅在您的应用程序进入后台时调用该方法。

于 2020-09-30T09:16:09.470 回答