ナビゲーション コントローラーのビューの 1 つに- (void) loadAlert
、Web ページのコンテンツを取得して解析し、関連するコンテンツを .xml ファイルに配置するメソッドがありUITextView
ます。メソッド呼び出しはviewDidAppear:
、ビュー コントローラーのセクションにあります。ビューが最初にロードされたとき、およびナビゲートされたときにビューがまったく表示されたときに正常に機能します。
また、アプリがバックグラウンドから戻ったときに、このデータの読み込みが発生するようにします。多くの Stackoverflow の投稿やその他のソースが示しているように、メソッド呼び出しをapplicationDidBecomeActive:
次のように配置しました。
- (void)applicationDidBecomeActive:(UIApplication *)application
{
MainViewController *mainView = [[mainViewController alloc] init];
[mainView loadAlert];
}
ただし、アプリがバックグラウンドから戻ると、ビュー内では何も起こりません。UITextView
がクリアUIActivityIndicatorView
され、コンテンツがインターネットから取得されている間に が回転し、新しいコンテンツが に読み込まれることを期待していUITextView
ます。
メソッドが呼び出されていることはわかっていますが、ビュー内で何も起こっていません。このメソッドが呼び出されたときに、ビューがまだ読み込まれていないと感じています。アプリがバックグラウンドから戻ったときに、この特定のビューがナビゲーション コントローラーに表示されている現在のビューである場合、実際に UI を更新するように、メソッド呼び出しをどこに置くことができますか?