一直在寻找答案,但一切似乎都模糊不清。
无论如何,只想知道以下函数的目的:
widgetPerformUpdateWithCompletionHandler
在今日小部件中进行了什么操作。
根据Apple:
调用此方法以便小部件有机会更新其内容并在操作(例如快照)之前重新绘制其视图。当小部件完成更新其内容(如果需要重新绘制),小部件应调用完成处理程序块,传递适当的NCUpdateResult值。
什么时候会发生快照?每当我调试扩展时,widgetPerformUpdateWithCompletionHandler总是在loadView之后被调用。因此,当我已经在loadView中加载信息时,显式重新加载信息的目的是什么?
根据这个网站:http://www.karlmonaghan.com/tag/today-widget/
在TodayViewController中,有两个地方需要从网络加载数据-创建小部件和调用widgetPerformUpdateWithCompletionHandler时。对于前者,我在viewDidLoad中加载帖子,以便它们应该准备好在小部件显示时。当iOS认为小部件将在首次显示后显示给用户时,将调用widgetPerformUpdateWithCompletionHandler,给小部件更新显示的帖子的机会。
与上面的问题相同。