モーダル ビューを作成すると、modalViewController と modalView の新しいインスタンスが作成されます。この新しいインスタンスは、他のインスタンスについて何も知りません。これらのモーダル ビュー コントローラーの以前の反復からの情報を保持する方法がいくつかあります。
方法: メイン ビューでプレース ホルダーを設定し、ユーザーが選択した値をプロトコルを介してメイン ビューに戻し、セットアップを委任します。次に、モーダル ビューに移動すると、モーダル ビューを表示する前にそれらの変数を読み込むことができます。
したがって、すべての値を持つ辞書があるとしましょう: {slider = YES, someValue=10,...} メイン ビュー コントローラーでその辞書を作成し、最初に開いたものにいくつかの既定値を配置します。
モーダル ビュー コントローラーで、プロパティと同じディクショナリを作成します。
次のようなメソッドを使用して、モーダル ビュー コントローラーにプロトコルを作成します。
- (void) doneEditing:(NSDictionary *)values
最初のビューをモーダル ビュー コントローラーのデリゲートとして設定し、モーダル ビューdoneEditing
をポップする前に、最初のビューに存在するディクショナリに値をコピーします。
最初のビューでモーダル ビューを再び表示する準備ができたら、表示する前に値をモーダル ビューのディクショナリ プロパティにコピーします。
これがあなたを正しい方向に導くことを願っています。モーダル ビューをセグエまたは作成して提示するたびに、そのビューの新しいインスタンスを作成していることを覚えておくことが重要です。それについて何かを伝えない限り、前のインスタンスについてはまったく何も知りません。