そのため、App Delegateクラスでは、アプリ
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions
に初めてアクセスしたときにのみ呼び出されます。その後、が呼び出されます- (void)applicationDidBecomeActive:(UIApplication *)application
。
iPhone iOSが4.0以降の場合、ユーザーがホームボタンをクリックすると、最初にが呼び出さ- (void)applicationWillResignActive:(UIApplication *)application
れ、次に。が呼び出され- (void)applicationDidEnterBackground:(UIApplication *)application
ます。
その後、ユーザーがアプリを強制終了するまで、アプリはバックグラウンドで実行されます。ユーザーがアプリに再度入ると、最初に、が呼び出さ- (void)applicationWillEnterForeground:(UIApplication *)application
れ、次に。が呼び出され- (void)applicationDidBecomeActive:(UIApplication *)application
ます。
質問に関連して、どちらapplicationWillEnterForeground:
かを呼び出すかapplicationDidBecomeActive:
、データをリロードする必要があります。これらのメソッドに関するxcodeのコメントではありますが、Appleは、applicationDidBecomeActive:
一時停止したタスクを再開したり、ユーザーインターフェイスを更新したりするために使用することを提案しています。にいる間applicationWillEnterForeground:
、バックグラウンドに入るときに行った変更を元に戻すことができます。
そこで、見やすくするために、各メソッドに数字タグを付けました。呼び出されるメソッドは次のとおりです。
0 application:(UIApplication *)application didFinishLaunchingWithOptions:
1 applicationDidBecomeActive:
2 applicationWillResignActive:
3 applicationDidEnterBackground:
4 applicationWillEnterForeground:
最初にアプリに入ります。0を呼び出し、次に1を呼び出します。
ホームボタンを押す:2を呼び出し、次に3を呼び出します。
ホームボタンをダブルヒット(マルチタスク):2を呼び出す;
もう一度アプリを入力してください:4を呼び出し、次に1を呼び出します。