IOS 4マルチタスクでviewWillAppearが呼び出せない問題解決


问题补充:元々IOS 3ではviewWillAppearで画面データを初期化していたが、IOS 4にアップグレードした后、画面表示时に「home」キーを押して退出し、再び入ると画面に最新のデータは初期化されていない.
解決策:次のコードを追加

- (void)applicationDidEnterBackground:(UIApplication *)application {
    /*
     Use this method to release shared resources, save user data, invalidate timers, and store enough application state information to restore your application to its current state in case it is terminated later. 
     If your application supports background execution, called instead of applicationWillTerminate: when the user quits.
     */
	[viewController.modalViewController viewWillDisappear:NO];
}


- (void)applicationWillEnterForeground:(UIApplication *)application {
    /*
     Called as part of  transition from the background to the inactive state: here you can undo many of the changes made on entering the background.
     */
	[viewController.modalViewController viewWillAppear:NO];
}

理由分析:IOS 4がマルチタスクをサポートしているため、アプリケーションは【ホーム】を押して現在のアクティブアプリケーションの後ろに移動するだけで、終了していない.画面が一時停止したことに相当する.ここでは、プログラムが後ろに移動したときにviewWillDisappearメソッドを強制的に実行し、アクティブアプリケーションに戻ったときにviewWillAppeaを強制的に実行する