私のUIViewController
は、自分のモデルコンポーネントがコンテンツのダウンロードを完了したときに送信する通知のために登録します。アプリがバックグラウンドに移動したときに自動的に呼び出されるUIViewControllerメソッドはありますか?
ダウンロードはバックグラウンドで(beginBackgroundTaskWithExpirationHandler:
を使用して)行うことができますので、ダウンロードがバックグラウンドで完了すると、GUIが再描画を試みることはありません。
私は2つの選択肢があると思います - 1)モデルはバックグラウンド/フォアグラウンドでいつ通知し、通知を発しません。 2)UIViewController
は、バックグラウンドでの通知の登録を解除します。
オプション2)が好ましい。
UIViewController
には、アプリがバックグラウンドに入るときに常に呼び出されるメソッドがありますか?または、UIViewController
は、アプリがバックグラウンドに移行したときに通知イベントを受け取るために登録する必要がありますか?
(背景にするときアプリが動く呼び出されませんなどviewWillUnload
、viewWillDisappear
ようだ?)
+1しかし、起床時にUIを更新するのは難しいかもしれません。あなたのアプリがバックグラウンドになると、iOSデバイスはスクリーンショットをキャプチャし、このスクリーンショットを表示します。つまり、 ' - (void)applicationDidBecomeActive:(UIApplication *)アプリケーション'でUIを更新すると、前の画面が表示され、UIを変更したものにisntantly変更されます。 – Sam