通知センターの今日の拡張機能/ウィジェットでは、通知センターがアクティブになるたびに UI の一部を更新する必要があります。通知センターの使用中やバックグラウンドで更新する必要はありません。そのコードをどのメソッドに配置すればよいですか?
viewDidLoad
両方ともviewWillAppear
、表示されるたびに呼び出されます。たとえば、上下にスクロールすると、再度呼び出されるため、頻繁に呼び出されます。
widgetPerformUpdateWithCompletionHandler
初めて表示される前に呼び出されることはまったくないようです (少なくとも iOS 8.2 ベータ版では)。このメソッドは、iOS がバックグラウンドにある場合でも UI を更新する必要があると感じるたびに自動的に呼び出されます。これも適切ではありません。
loadView
ウィジェットがメモリから削除されない限り、一度だけ呼び出され、二度と呼び出されません。そのため、通知センターを開いてウィジェットを表示し、通知センターを閉じて後で再度開いた場合、メモリから消去されたかどうかによっては、そのメソッドが再度呼び出されない場合があります。