Сегодня виджет рисуется правильно, когда он добавлен в представление сегодня. Но если вы вернетесь к нему позже, функция viewDidLoad не будет вызываться и отображает устаревшие данные. Должен ли viewDidLoad вызываться каждый раз? Есть ли ошибка iOS 9/Xcode 7 beta 6?iOS 9 Сегодня Виджет не вызывает viewDidLoad
Редактировать: Добавлено, что widgetPerformUpdateWithCompletionHandler не называется. У меня есть точки останова и функции печати
func widgetPerformUpdateWithCompletionHandler(completionHandler: ((NCUpdateResult) -> Void)) {
print("in widgetPerformUpdateWithCompletionHandler")
fetch()
completionHandler(NCUpdateResult.NewData)
}
Я никогда не работал с виджетами, но обычно вызывается «viewDidAppear' каждый раз, когда отображается экран времени,« viewDidLoad »вызывается только при первоначальной загрузке представления. –
Вы не используете 'widgetPerformUpdateWithCompletionHandler:' см. [Здесь] (https://developer.apple.com/library/ios/documentation/NotificationCenter/Reference/NCWidgetProviding_Protocol/index.html#//apple_ref/occ/intfm/NCWidgetProviding/ widgetPerformUpdateWithCompletionHandler :) – soulshined
У меня такая же проблема. 'widgetPerformUpdateWithCompletionHandler' использовался для вызова каждый раз, когда виджет отображался. iOS9 называет эти методы намного меньше. Но я не нашел никакой документации об этом изменении. –