1

私は iOS が初めてで、MVC の最善の方法を理解しようとしています。

私のサインアップ フォームには 15 のフィールドがあり (そうです、すべてのフィールドが必要です!)、それぞれ 5 つのフィールドを持つ 3 つの論理画面に分割することにしました。ユーザーモデルは1つになります。最後の 3 番目の画面では、データベースを更新します。私の質問は次のとおりです。

  1. ビューごとに個別のビュー コントローラーを作成する必要がありますか? 3 つのビューはすべて同じモデルを共有します。私の心は、1 つのモデルに対して 1 つのコントローラーが必要であると言っていますが、iOS でそれを行う最善の方法がよくわかりません。

  2. 1 つのコントローラーと複数のビューを作成した場合、「戻る」ボタンを押す際に問題は発生しますか? コントローラーは、表示するビューをどのように認識しますか。

  3. または、1 つのコントローラーで 1 つのビューと複数のサブビューを使用する必要がありますか?

混乱しているため、上記のクエリは矛盾しているように聞こえるかもしれません。

上記のような状況のベスト プラクティスを示すサンプル アプリがある場合は、そのリンクを教えてください。

前もって感謝します。

4

3 に答える 3

1

フィールドを格納するモデルを 1 つ持つことができます。次に、ビューごとに 3 つのコントローラーを使用できます (フィールドによっては検証が必要になる場合があるため)。これにより、フィールドがモデルに取り込まれます。

UINavigationController 内にすべてを配置すると、戻るボタンが表示されます。

于 2013-07-05T15:45:18.087 に答える
0

UIViewController クラスは 1 つですが、各ステップに 1 つずつ、3 つの異なるビューを持つ 3 つのインスタンスを使用します。

ユーザーが 1 つのコントローラーに情報を入力し終わったら、新しいコントローラーを作成し、それにモデルを渡します。新しいコントローラーは、それがどのステップにあるかを把握し、適切なビューを表示できるはずです。

于 2013-07-05T15:45:46.353 に答える
0

3 つのビューを持つ 1 つの UIViewController クラスを使用しますが、ユーザーが最初のビューの情報を入力すると、2 つ目のビューが表示されます。最初のビューの情報が間違っている場合は、最初のビューのままです。

于 2013-07-05T15:52:16.007 に答える