4

たとえばUITableView、ビューの追加コンテンツの下に を表示する必要がある場合、次のいずれかを行うのがベスト プラクティスでしょうか。

  • UITableViewをサブビューとして追加する、または
  • UITableViewController?を保持するコンテナ ビューを追加します。

私の知る限り、どちらも同じユーザー エクスペリエンスを提供しますが、どちらの方法がベスト プラクティスと見なされるか知りたいです。

4

3 に答える 3

6

いくつかのオプションがあります:

  1. を追加しUITableView、含まれているビュー コントローラーをテーブル ビューのデータ ソースとデリゲートにします。
  2. を追加し、UITableView他のクラスをテーブル ビューのデータ ソースとデリゲートにします。
  3. テーブルで別のビュー コントローラーを作成し、2 番目のビュー コントローラーを 1 番目の子ビュー コントローラーとして追加します。

選択は、責任とカプセル化の適切な分割に依存します。

オプション 2 と 3 を使用すると、テーブル ビューを複数のビュー コントローラーに埋め込む必要がある場合に再利用できます。

あなたの質問に対する簡単な答えはありません。それはすべて、ニーズ、データ、アプリの構造によって異なります。

于 2013-08-26T16:29:50.047 に答える
3

iOS の一般的な規則、特に iPhone/iPod touch フォーム ファクタの場合、常に画面上にビュー コントローラを 1 つだけ配置する必要があります。そのガイドラインに違反したいと思う唯一のケースは、多くのロジックが組み込まれたサブビューがあり、サブビューを他の複数のビューに含める必要がある場合です。たとえば、ポップオーバーには、他の複数のビュー コントローラーと組み合わせて表示する必要がある場合があるため、独自のビュー コントローラーが必要です。

あなたの場合、(1)テーブルビューに親View Controllerのロジックとは関係のない多くのロジックがある場合、または(2)を表示する必要がない限り、UITableViewをサブビューとして追加することを強くお勧めしますアプリの別の部分にある同じテーブル ビュー。

于 2013-08-26T16:28:57.767 に答える
1

次の理由から、コンテナ ビュー コントローラを使用したいと思います。

  • アプリケーションの別の部分で再利用できます。
  • オブジェクトの単一の責任を維持します (たとえば、メイン ビュー コントローラーはモデルに関する情報の表示に重点を置き、テーブル ビュー コントローラーはモデル内の関係に関する情報の表示を処理します)。
  • ソース ファイルを小さくして読みやすくします。
  • テストを簡単に作成できます。

ただし、最終的には、どちらも有効なソリューションです。

于 2013-08-26T16:32:58.753 に答える