ViewControllerを提示すると、提示されたコントローラはそのviewDidLoadメソッドを実行しますか?ViewControllerを提示する
view1がロードされ、別のものが提示された場合。次に、何かがview1を提示するようにトリガする。 viewDidLoadメソッドを実行しますか?
どうすればいいですか? ViewDidAppear?
ViewControllerを提示すると、提示されたコントローラはそのviewDidLoadメソッドを実行しますか?ViewControllerを提示する
view1がロードされ、別のものが提示された場合。次に、何かがview1を提示するようにトリガする。 viewDidLoadメソッドを実行しますか?
どうすればいいですか? ViewDidAppear?
ビューがメモリにロードされると、viewDidLoad
が呼び出されます(通常、ビューのコントローラはアプリの起動以来初めて表示されるようになっていますが、これで十分です)。
他のビューコントローラを表示してから元の「view1」ビューコントローラに戻ったときに、メモリからそれを投棄したメモリイベントがない限り、再度viewDidLoad
はコールされません。代わりに
、それがために、次のように呼び出します:viewWillAppear:
で
viewWillAppear:
viewDidAppear:
を、あなたはあなたのビューコントローラの前に "画面オフ" のことを行うための場所を持っています表示されています。
viewDidAppear:
には、ビューコントローラーのビューが既に表示されているときに適切な追加の操作を実行できます。たとえば、ビューコントローラが完全に表示されたら、ユーザーに表示される少しのアニメーションを実行したいとします。
これらの両方の方法では、何かをする前にスーパーの実装を呼び出すようにしてください。また、このライフサイクルについて知るには、これらのメソッド(viewDidLoad、viewWillAppear、viewDidAppear)のそれぞれにブレークポイントまたはNSLog()ステートメントを設定して、それらが呼び出されたタイミングを確認します。
View Controllerに関するアップルのドキュメントには20分分の価値があります。View Controllerに関するこの重要なライフサイクル情報をクリアします。これらはiOS開発のです。
viewDidLoadは、ビューがメモリにロードされたときにのみ呼び出されます。通常、最初に表示されます(メモリダンプなどがある場合は、より頻繁に表示される可能性があります)。
viewDidAppear:viewControllerのビューがウィンドウ内の「アクティブな」ビューになるたびに呼び出されます。
事があり、私はのViewControllerの新しいインスタンスを作成し、それを提示:セクションで、「表示管理ライフサイクルを理解する」を参照してください。 View1の新しいインスタンス – jarryd
多くの場合、同じView Controllerインスタンスを再利用するため、上記のコメントはその意味で保持されます。あなたのケースでは、あなたのアプリケーションのさまざまな時点で新しいオブジェクト( "view1")をインスタンス化している場合、私はそれぞれの新しいインスタンス化が "viewDidLoad"へのヒットをトリガーすると思います。 私は "name"のようないくつかのプロパティ変数を設定します。これらのプロパティ変数は、これらのいずれかをインスタンス化するたびに設定できます。それを行う。次に、viewDidLoadで、次のようなものを吐き出してください: NSLog(@ "viewDidLoadでは、例えば名前が%@"で、self。名); このログ出力シーケンスを検討すると、計画できる決定的なパターンが表示されます。 – idStar