Twitterでツイートを見ていたら、StoryboardとXibの使い分けについての記事を紹介するツイートを見かけました。
Xib/storyboardとの付き合い方について
自分の場合はどうだろう?と、改めて考えてみると、次の2点が大きな観点になっていると思います。
- 再利用の可能性
- 利用される入り口の個数
再利用の可能性
再利用される可能性が高いものはXibで作るようにしています。複数のアプリ(たとえ2つでも)に持って行く場合、Storyboardは小回りが効きにくいです。
利用される入り口の個数
複数のアプリで利用することはなくても、そのビューコントローラを表示する入り口が複数箇所になる場合はXibにするというケースが多くあります。同一のユーザーインターフェイスで表示する場合は、「prepareForSegue:」メソッドでカスタマイズすするのでも事足りますが、たとえば、アクションシートのようにユーザーが選択するものを作ったときに、その戻り値によって処理を変更する場合や、そもそも表示する内容を場所によって色々変えたい場合には、Xibベースでインスタンス確保して、設定して、presentViewController:メソッドなどで表示する方がシンプルな気がします。