ビューを持つタブバーコントローラーの基本的に存在するアプリがあるとしましょう。ビューの 1 つには、モーダル ビュー コントローラーを表示するボタンがあります。このビューコントローラーの目的は、名前などのデータを入力することです。開始を押すと記録が開始されるため、時間への参照も保持され、記録時間の合計が表示されます。
(開始ボタンをクリックすると、ボタンが停止ボタンに変わります)
記録中にユーザーが閉じるボタンをクリックすると、viewcontroller (名前や記録時間などの変数を保持) が閉じられ、アプリはビューを含む tabbarcontroller に戻ります。ユーザーが記録中にボタン (モーダル ViewController を表示) をもう一度押すと、以前に入力したデータ (名前、記録時間の合計) とともに ViewController を表示する必要があります。
したがって、このデータは、次のコードの実行後も維持する必要があります。
- (IBAction)close:(id)sender {
[[self presentingViewController] dismissViewControllerAnimated:YES completion:nil];
}
上記のコードは、viewcontroller を閉じますが、その viewcontroller 内の変数も破棄します。ビューコントローラーを閉じた後、そのビューコントローラーに入力された変数を保持する最良の方法は何でしょうか?
tabbarcontroller のビューがこのデータを担当する必要がありますか? または、モーダルビューコントローラーへの参照を保持し、バックグラウンドで有効にする必要がありますか? そして、コードでこれを行うにはどうすればよいですか?
最後に、ユーザーがモーダル ビュー コントローラーの停止ボタンをクリックして記録を停止し、閉じるボタンを押すと、もちろんメモリを保持するためにこのビューを破棄する必要があります。