1

サブビューWizardViewControllerが異なるシングルを使用したいと思います。inputViewWizardViewControllera を共有し、searchCriteriaそれを新しい各ステップに渡します。各ステップは、その特定の の入力に応じて基準に追加されますinputView

私が直面している問題は、WizardViewControllerさまざまなタイプの入力/コントロールを再利用できるように、オブジェクト/ビューを構造化する方法です。たとえば、の各タイプに対応する(ビューのタイプごとに) のWizardViewModelようなメンバーを持つ を使用し、必要に応じて必要に応じてアウトレットを接続して、必要となる可能性のあるさまざまな に対応するカスタムサブクラスを作成することを考えました。インターフェイス ビルダー。問題は、この道をたどるとクラス間の依存関係が多くなり、基本的にロジックを. さらに、Web サービスから可能な値を取得する必要があるものもあります。enum wizardViewModelTypeUIView *inputViewWizardViewModelTypeUIViewinputViewinputViewWizardViewControllerinputViewViewModel処理する必要があり、ロジックがさらに壊れます。おそらくViewController、入力ビューの種類ごとに個別に必要ですか? それとも、これについて完全に間違った方法で考えていますか?

4

1 に答える 1

2

通常、これを行う正しい方法は、UIViewごとにViewControllerを用意することです。アプリケーションのロジックはビューではなくviewControllerにある必要があり、セグエを使用してデータを共有できます(ios 5の場合)。iOS4以下には他のメソッドがあると確信しています。

UIViewController間でコードを共有したい場合、ウィザードを作成する方法は、それをナビゲーションコントローラーに埋め込み、次のviewControllerをナビゲーションコントローラースタックにプッシュすることです。

ビューコントローラ間でコードを共有したい場合は、ビューコントローラクラスで行うべきではないと思います。基本的に、私はそれを行うための2つのオプションを考えます。

1)基本クラスを作成します。基本クラスはUIViewControllerを拡張する必要があり、UIViewControllerはこの基本クラスを拡張できます。

2)共通コードを別のクラスに抽出します(該当する場合はより適切です):共通コードを共有する別のクラスを作成し、それをViewControllerに挿入します。

于 2012-05-08T19:13:27.147 に答える