19

ストーリーボードの導入により、UIViewController のサブクラスを作成するときに .xib/.nib の作成を選択しなくなりました。これは、インターフェイス ビルダーでビュー コントローラーをドラッグして新しいクラスに割り当てることができるためです。

では、ストーリーボードでは、いつ .xib/.nib ファイルを使用する必要がありますか?

ありがとうございました。

4

4 に答える 4

33

ストーリーボードによって、NIB ファイルの必要性が完全になくなるわけではありません。一般的な例の 1 つは、サブビューを作成してUIScrollView. ストーリーボードでサブビューを個別に作成することはできません。代わりに、サブビュー用に個別の NIB を作成し、それらをプログラムでスクロール ビューにアタッチする必要があります。

実際、実行時に変更されるサブビューが必要なほとんどの場合、個別の NIB を使用する必要があります。

ストーリーボードは特定の種類のアプリには最適ですが、少し複雑なアプリでも古い方法でうまく機能します。追加の利点は、それらがうまく共存することです。ストーリーボードにプレースホルダー ビューを配置し、後で NIB 定義のビューをプログラムで埋めることができます。

于 2011-12-13T20:45:49.397 に答える
11

ストーリーボードには、すべてのビューの .xib/.nib ファイルが含まれていると思います。それらの間の関係を示し、多数のビューがある場合に混乱を避けるのに役立ちます。また、コードを書くときの時間と神経を節約します。

于 2011-12-13T20:33:14.373 に答える
10

私は最近、絵コンテを試してみましたが、その使用について複雑な感情を抱いています:

プロの

  • 利便性: 記述しなければならないコードが大幅に少なくなる可能性があります。たとえば、コードを記述しなくても静的ビューを表示できます。
  • 概要: ViewController が互いにどのように関連しているかをすぐに確認できます。
  • 効率性: 単純なユース ケースの場合、ストーリーボードは「古い方法」よりもはるかに効率的です。

    例 1:Editor > Embed In > Navigation Controllerほら、インスタンス化と構成はもう必要ありません。

    例 2: 静的テーブル ビューの作成を劇的に高速化する TableView の「プロトタイプ セル」を作成できます。私の知る限り、これはnibファイルでは不可能です

  • かっこいいね :-)

短所

  • 再利用性は、ストーリーボードで何らかの形で苦しんでいることがわかりました。複数のポイントから特定の ViewController にセグエできますが、VC をポップオーバーとして使用したり、Master-ViewController として使用したりする場合があるため、まだ制限があります。
  • 大きなチームで作業していて、さまざまな人がアプリケーションのさまざまな部分を変更していると仮定すると、1 つのモノリシックなストーリーボードをマージする必要があると、チームの作業に関して大きな問題が生じる可能性があります。
  • 既存のnibファイルをストーリーボードに含めたり参照したりするメカニズムが本当に欲しいのですが、これは現在不可能です。

これらの点を考慮すると、ストーリーボードは非常に魅力的ですが、両方のアプローチを組み合わせることは理にかなっていますが、これは大したことではありません。さらに、このテクノロジーはまだ非常に新しいため、(近い) 将来に改善される可能性があります。

于 2011-12-20T10:56:47.100 に答える
4

ストーリーボードを使用する場合、通常、個別の .xib ファイルを作成する必要はありません。必要に応じて .xib ファイルを使用することもできます。たとえば、特に複雑なビューを独自に構成したい場合などに便利です。ただし、ほとんどの場合、その必要はありません。

于 2011-12-13T20:39:09.930 に答える