あなたが説明する問題は、アプリの設計が不十分であるか、アプリのアーキテクチャがよく理解されていないことが原因です。アプリがアクティブになるたびにアプリのデータを更新する必要がある場合は、UIApplicationDelegateイベントから更新関数を呼び出す (または通知を登録する) ことができます。具体的には次のとおりです。
applicationDidBecomeActive:
アプリケーションがアクティブになったことをデリゲートに伝えます。- (void)applicationDidBecomeActive:(UIApplication *)アプリケーション パラメータ
応用
The singleton application instance.
討論
このメソッドは、非アクティブ状態からアクティブ状態に移行したことをアプリケーションに知らせるために呼び出されます。これは、アプリケーションがユーザーまたはシステムによって起動されたために発生する可能性があります。アプリケーションを一時的に非アクティブ状態にした割り込み (電話や SMS メッセージの着信など) をユーザーが無視することを選択した場合、アプリケーションはアクティブ状態に戻ることもあります。
このメソッドを使用して、アプリケーションが非アクティブなときに一時停止された (またはまだ開始されていない) タスクを再開する必要があります。たとえば、タイマーを再起動したり、OpenGL ES フレーム レートを調整したりするために使用できます。アプリケーションが以前バックグラウンドにあった場合は、それを使用してアプリケーションのユーザー インターフェイスを更新することもできます。
このメソッドを呼び出した後、アプリケーションは UIApplicationDidBecomeActiveNotification 通知も投稿して、関心のあるオブジェクトに遷移に応答する機会を与えます。可用性