ktz*_*ang 29 widget ios8 ios-app-extension
一直在寻找答案,但一切似乎都模糊或不清楚.
无论如何,只想知道功能的目的是什么:
widgetPerformUpdateWithCompletionHandler
Run Code Online (Sandbox Code Playgroud)
在今天的小部件中.
根据Apple的说法:
调用此方法可为窗口小部件提供更新其内容并在快照等操作之前重绘其视图的机会.当窗口小部件完成更新其内容(并在必要时重绘)时,窗口小部件应调用完成处理程序块,并传递相应的NCUpdateResult值.
快照什么时候发生?每当我调试扩展时,widgetPerformUpdateWithCompletionHandler总是在loadView之后被调用.那么当我已经在loadView中加载信息时,在此方法中显式重新加载信息的目的是什么?
根据这个网站:http://www.karlmonaghan.com/tag/today-widget/
在TodayViewController中,有两个地方需要从网络加载数据 - 创建窗口小部件时以及调用widgetPerformUpdateWithCompletionHandler时.对于前者,我在viewDidLoad中加载帖子,以便在窗口小部件显示时它们应该准备就绪.当iOS认为小部件在首次显示后将显示给用户时,将调用widgetPerformUpdateWithCompletionHandler,使小部件有机会更新显示的帖子.
与上述问题相同.
Kar*_*han 12
每次查看通知中心时都不会创建窗口小部件,因此loadView
每次显示时都不会调用窗口小部件.当通知中心widgetPerformUpdateWithCompletionHandler
认为需要更新小部件信息时,它会调用.从我自己的调试来看,它看起来就像最初创建窗口小部件时widgetPerformUpdateWithCompletionHandler
几乎是直接调用,所以你可以在那里完成所有加载,但Apple建议你尽可能在生命周期的早期开始加载过程.
如果您的窗口小部件显示的信息永远不会更改,那么您无需执行任何操作widgetPerformUpdateWithCompletionHandler
.
归档时间: |
|
查看次数: |
8360 次 |
最近记录: |