program extensión extension developer cual apple aplicaciones widget ios8 ios-app-extension

widget - extension - cual es la extensión de ios



¿Cuál es el propósito de widgetPerformUpdateWithCompletionHandler en iOS 8 Today Widget? (1)

No se crea un widget cada vez que ve el centro de notificaciones, por loadView que no se llamará a loadView cada vez que se muestre. El centro de notificaciones en su lugar llama widgetPerformUpdateWithCompletionHandler cuando cree que la información del widget necesita actualizarse. Desde mi propia depuración, parece que cuando el widget se crea inicialmente widgetPerformUpdateWithCompletionHandler se llama casi de inmediato, así que solo puede hacer toda la carga allí, pero Apple recomienda que comience el proceso de carga tan pronto como sea posible en el ciclo de vida.

Si la información que muestra su widget nunca cambia, entonces no tiene que hacer nada en widgetPerformUpdateWithCompletionHandler .

He estado buscando una respuesta, pero todo parece vago o poco claro.

De todos modos, solo quiero saber cuál es el propósito de la función:

widgetPerformUpdateWithCompletionHandler

Lo hace en el widget de hoy.

Según Apple :

Se llama a este método para dar a un widget la oportunidad de actualizar su contenido y volver a dibujar su vista antes de una operación como una instantánea. Cuando el widget haya terminado de actualizar su contenido (y se vuelva a dibujar, si es necesario), el widget debería llamar al bloque del controlador de finalización, pasando el valor NCUpdateResult apropiado.

¿Cuándo sucede la instantánea? Siempre que depuro la extensión, widgetPerformUpdateWithCompletionHandler siempre se llama después de loadView. Entonces, ¿cuál es el propósito de recargar explícitamente la información en este método cuando ya cargué la información en loadView?


Según este sitio web: http://www.karlmonaghan.com/tag/today-widget/

En el TodayViewController, hay dos lugares que necesitan cargar datos de la red: cuando se crea el widget y cuando se llama widgetPerformUpdateWithCompletionHandler. Para el primero, cargo publicaciones en viewDidLoad, para que estén listas para cuando se muestre el widget. Cuando iOS cree que el widget se mostrará al usuario después de que se haya mostrado por primera vez, se llama widgetPerformUpdateWithCompletionHandler, que le da al widget la oportunidad de actualizar las publicaciones que se muestran.

Misma pregunta que la anterior.