2

ストーリーボードに次のビューがあります。 ビューは、固定コントロールとコントローラーのタイプに応じて変化するコントロールで構成されます

ご覧のとおり、いくつかの固定コントロールと、画面の種類に応じて変化するコントロールがあります。何が良いと思いますか?

1-複数の画面に同じView Controller。(ビューを制御するコードを追加)

2- すべてのコントロールを同じ画面に追加してから、コードでそれらを隠したり表示したりしますか? (乱雑なコード)

3-各画面のコントローラーを表示します。(レプリケートされたコード)

4

2 に答える 2

3

「ウィンドウ」という言葉は使用しないでください。言いたいことの解釈が異なる可能性があります。「画面」または「画面の一部」という言葉を使用します。この場合、 のコンテナを使用しUIViewControllersます。それらの間で通信するには、KVOor NSNotificationCenter(おそらく 2 番目のもの) を使用します。UIViewControllerまた、 (配列やディクショナリのように) データ ソースを直接持たないようにしてください。すべてのUIViewControllers (または任意のクラス) が簡単にアクセスできる別の場所にデータ ソースを保持します。シングルトンを使用できます。

データ ソースを に直接配置するのUIViewControllerではなく、別の場所に配置すると、コードの柔軟性が向上します。新しい を使用する必要がある場合でもUIViewController、何も変更されていません。彼は引き続き同じ時点からリソースを要求できます。ですから、それを覚えておいてください。


編集 1

データ ソースもビュー コントローラー内にあります。画面間の相互作用はありません。同じ画面ですが、その種類によって一部のコントロールが変わります。今何をしなければならないと思いますか?

この種のアプローチの問題は、何らかの理由でUIViewController、同じデータ ソースを使用する新しい を追加する必要がある場合、どうすればよいかということです。UIViewController私は常に、データ ソースから可能な限り切り離すようにしています。そうしないと、アプリケーションが変更された場合 (クライアントのニーズが変更された場合) に、将来問題が発生する可能性があります。ここでも、データ ソースを適切なクラスに移動し、Singleton を使用してアクセスします。

UIViewController <=> Singleton <=> Data Source

それでは、複数の画面を持つ複数のView Controllerを作成することをお勧めしますか?

UIViewControllerを他のコンテナのコンテナとして使用することをお勧めしますUIViewControllers。私にとっては、すべてを 1 か所で行うよりも、作業しながら画面を構成する方が理にかなっています。

于 2012-11-14T07:36:19.713 に答える
0

私は間違いなく 3 を使用しません。このアプローチは最も柔軟です。そしてそれはきれいです=>維持するのに良いです

于 2012-11-14T08:01:37.297 に答える