ストーリーボードの導入により、UIViewController のサブクラスを作成するときに .xib/.nib の作成を選択しなくなりました。これは、インターフェイス ビルダーでビュー コントローラーをドラッグして新しいクラスに割り当てることができるためです。
では、ストーリーボードでは、いつ .xib/.nib ファイルを使用する必要がありますか?
ありがとうございました。
ストーリーボードの導入により、UIViewController のサブクラスを作成するときに .xib/.nib の作成を選択しなくなりました。これは、インターフェイス ビルダーでビュー コントローラーをドラッグして新しいクラスに割り当てることができるためです。
では、ストーリーボードでは、いつ .xib/.nib ファイルを使用する必要がありますか?
ありがとうございました。
ストーリーボードによって、NIB ファイルの必要性が完全になくなるわけではありません。一般的な例の 1 つは、サブビューを作成してUIScrollView
. ストーリーボードでサブビューを個別に作成することはできません。代わりに、サブビュー用に個別の NIB を作成し、それらをプログラムでスクロール ビューにアタッチする必要があります。
実際、実行時に変更されるサブビューが必要なほとんどの場合、個別の NIB を使用する必要があります。
ストーリーボードは特定の種類のアプリには最適ですが、少し複雑なアプリでも古い方法でうまく機能します。追加の利点は、それらがうまく共存することです。ストーリーボードにプレースホルダー ビューを配置し、後で NIB 定義のビューをプログラムで埋めることができます。
ストーリーボードには、すべてのビューの .xib/.nib ファイルが含まれていると思います。それらの間の関係を示し、多数のビューがある場合に混乱を避けるのに役立ちます。また、コードを書くときの時間と神経を節約します。
私は最近、絵コンテを試してみましたが、その使用について複雑な感情を抱いています:
プロの
効率性: 単純なユース ケースの場合、ストーリーボードは「古い方法」よりもはるかに効率的です。
例 1:Editor > Embed In > Navigation Controller
ほら、インスタンス化と構成はもう必要ありません。
例 2: 静的テーブル ビューの作成を劇的に高速化する TableView の「プロトタイプ セル」を作成できます。私の知る限り、これはnibファイルでは不可能です
短所
これらの点を考慮すると、ストーリーボードは非常に魅力的ですが、両方のアプローチを組み合わせることは理にかなっていますが、これは大したことではありません。さらに、このテクノロジーはまだ非常に新しいため、(近い) 将来に改善される可能性があります。
ストーリーボードを使用する場合、通常、個別の .xib ファイルを作成する必要はありません。必要に応じて .xib ファイルを使用することもできます。たとえば、特に複雑なビューを独自に構成したい場合などに便利です。ただし、ほとんどの場合、その必要はありません。