たとえばUITableView
、ビューの追加コンテンツの下に を表示する必要がある場合、次のいずれかを行うのがベスト プラクティスでしょうか。
UITableView
をサブビューとして追加する、またはUITableViewController
?を保持するコンテナ ビューを追加します。
私の知る限り、どちらも同じユーザー エクスペリエンスを提供しますが、どちらの方法がベスト プラクティスと見なされるか知りたいです。
たとえばUITableView
、ビューの追加コンテンツの下に を表示する必要がある場合、次のいずれかを行うのがベスト プラクティスでしょうか。
UITableView
をサブビューとして追加する、またはUITableViewController
?を保持するコンテナ ビューを追加します。私の知る限り、どちらも同じユーザー エクスペリエンスを提供しますが、どちらの方法がベスト プラクティスと見なされるか知りたいです。
いくつかのオプションがあります:
UITableView
、含まれているビュー コントローラーをテーブル ビューのデータ ソースとデリゲートにします。UITableView
他のクラスをテーブル ビューのデータ ソースとデリゲートにします。選択は、責任とカプセル化の適切な分割に依存します。
オプション 2 と 3 を使用すると、テーブル ビューを複数のビュー コントローラーに埋め込む必要がある場合に再利用できます。
あなたの質問に対する簡単な答えはありません。それはすべて、ニーズ、データ、アプリの構造によって異なります。
iOS の一般的な規則、特に iPhone/iPod touch フォーム ファクタの場合、常に画面上にビュー コントローラを 1 つだけ配置する必要があります。そのガイドラインに違反したいと思う唯一のケースは、多くのロジックが組み込まれたサブビューがあり、サブビューを他の複数のビューに含める必要がある場合です。たとえば、ポップオーバーには、他の複数のビュー コントローラーと組み合わせて表示する必要がある場合があるため、独自のビュー コントローラーが必要です。
あなたの場合、(1)テーブルビューに親View Controllerのロジックとは関係のない多くのロジックがある場合、または(2)を表示する必要がない限り、UITableViewをサブビューとして追加することを強くお勧めしますアプリの別の部分にある同じテーブル ビュー。
次の理由から、コンテナ ビュー コントローラを使用したいと思います。
ただし、最終的には、どちらも有効なソリューションです。