ビューコントローラプログラミングガイド状態このについてのView Controllerの使用方法:あなたが作成 階層
各カスタムView Controllerオブジェクトは、すべての を管理する責任があります単一のビュー内のビュー 階層。 iPhoneアプリケーションでは、 ビュー階層の ビューは伝統的に画面全体をカバーしますが、 ですが、iPadアプリケーションでは は画面の一部のみをカバーします。 のビューコントローラとそのビューの ビュー階層との間の1対1対応がキーデザイン の配慮です。 複数のカスタムビューコントローラを ビュー階層の異なる部分を管理するために使用しないでください。同様に、 は、 コントローラーオブジェクトを1つのカスタムビューで使用して、複数の 画面のコンテンツを管理しないでください。
私のような私たちは、ビューの部分を制御するために、複数のカスタムビューコントローラの(順番にビューコントローラによって管理されているメインビューのサブビューを管理するために、すなわちビューコントローラ)を使用する場合、デフォルトの方法を理解:
didReceiveMemoryWarnings
viewWillAppear
viewWillDisappear
viewDidUnload
などは呼び出されない。
これ以外にも、ビューのそれぞれのサブビューを管理するために複数のビューコントローラを使用すべきではないという他の強固な理由はありますか?
注:
ドキュメントとしても読み込み、代替ソリューションを提供しますが、複数のサブ領域に表示 階層を分割し、 それぞれを個別に管理し、 一般的なコントローラオブジェクトを使用する場合(カスタム NSObjectから下降するオブジェクト) ビューコントローラオブジェクトの代わりに 各サブエリアを管理します。次に、単一の ビューコントローラオブジェクトを使用して、 ジェネリックコントローラオブジェクトを管理します。
しかし、については、複数の表示コントローラを推奨するべきではありません。私の質問は次のとおりです:
私たちはこのように好きではないのはなぜですか?
UIViewControllerのサブクラスを使って私のビューを管理するのが好きだから、毎回nibからロードして、各ビューコントローラのペン先を分離する方が好きなので気になります。プロジェクトの後の段階で変更を簡単に受け入れることができます。これは間違っていますか?プログラミングスタイルを必然的に変更する必要がありますか、このアプローチを進めても大丈夫ですか?
おかげで、
ラジ
はい、できます。私はNSObjectサブクラスを作成し、それをそのペン先のファイルの所有者として指定できます。しかし、どうしてこのようにしなければならないのかといった他の具体的な理由があるのだろうかと思っていました。オブジェクトが「重い」という説明は、今のところ十分です。 –
まあ、私はそれがかなり役に立たないと思います。あなたが与えた唯一の理由は、IBでそれらを分離することだけだったので、それはNSObjectで行うことができます。私はUIViewControllerのメソッドのいずれかを使用するとは思わないので、なぜこの特定のオブジェクトをサブクラス化するのですか?つまり、他のUIResponderサブクラス(UIViewやUIButtonのような)をサブクラス化することもできますが、興味深いのはビューIBOutletだけなので、そのような特定のオブジェクトは必要ありません。 – Julien
うん、本当は。合意した –