私は完全に迷っています。
問題は、ウィザードでビューコントローラーを介してデータを渡すことです。私のプロジェクトには 4 つのビューコントローラーが含まれています。
- Step1ViewController、名前を記入する可能性
- Step2ViewController、ニックネームを入力可能
- Step3ViewController、メールアドレス入力可能、
- Step4ViewController、関心を埋める可能性、終了
すべてのビュー コントローラーは、ナビゲーション コントローラーにプッシュされます。ナビゲーションツールバーのバーボタンをクリックすると、次のステップに進むことができます。私が達成したいのは、ステップ内のすべてのデータを収集し、最後のステップで NSManagedobject を作成して保存することです (終了ボタンをクリックして)。そのため、ユーザーが手順 2 で終了し、アプリを再起動すると、オブジェクトは保存されません。そのため、彼はウィザードを再起動します。コア データに personobject がある場合、別のビューが読み込まれます (これはデリゲート クラスの条件です)。
単純なモデル スキーマがあれば、データをコントローラーに渡すのは prepareForSegue メソッドを使用して簡単に行うことができます。すべての変数を収集し、コア データ オブジェクトを作成して保存します。データを前のステップに戻すために、プロトコルを使用できます。
しかし、私のアプリケーションでは、モデル スキーマはもっと複雑です。私のウィザードには約 18 のステップが含まれており、Person モデルに関連付けられたモデル (trainingsplan、interests など) が多数あるため、変数内のすべてのデータを収集し、最後のステップでそれらすべてを結合することは、実際には良い方法ではないと思います。
これを行う最善の方法は何ですか?
いくつかの手順と 2 つのモデル (個人と興味 (1-2-多)) を含むウィザード サンプル アプリケーションをアップロードしました。うまくいけば、これはそれをより明確にするでしょう。コードを自由に変更してください: https://github.com/stalkert/WizardPrototype