もうコンフリクトするのはイヤだ!Storyboardを分割する方法

Storyboardに画面をどんどん増やしていくと、重くなってXcodeが落ちます。
落ちなくても、複数人で開発するには、大きな役割ごとにStoryboardが分かれていたほうが便利ですよね。

1つのStoryboardに全ての画面を入れて作っていくと、
チーム開発の場合には、Storyboardのファイルがコンフリクトするし、
プルリクレビューで差分見るときにも、xmlの差分見ても見逃すし。
それだったら、役割ごとにStoryboardが分かれていたほうが開発効率もアップ!!

というわけで、さっそくStoryboardを分割してみましょう。

まず、New FilesでStoryboardを増やします。

で、新しいStoryboardにも、ViewControllerを作っときます。

元からあるStoryboardは、こんな感じに。↓

新しく作ったStoryboardは、こんな感じ↓に、とりあえずしてみました。

ではさっそく、元あったStoryboardの画面のボタンを押したら、
新しく作ったほうのStoryboardの画面に飛ぶようにします。
[UIStoryboard storyboardWithName:を使います。

- (IBAction)pushButton:(id)sender {
    UIStoryboard *storyboard = [UIStoryboard storyboardWithName:@"新しいStoryboardの名前"
                                                         bundle:nil];
    UIViewController * vc = [storyboard instantiateInitialViewController];
    [self presentModalViewController:vc animated:YES];
}

これだけ!
上の場合だとModalで開いてるので、逆に戻るときは、普通にdissmissすればいいだけですね。

簡単にStoryboardの分割が出来ましたー!
これでコンフリクトの恐怖から解放されます。

この記事を書いた人

福西真奈株式会社ドラプロ 代表取締役
株式会社ドラプロ(http://www.dorapro.co.jp/) 代表取締役。 iPhoneアプリ開発/WEBシステム開発をやっています。
Pocket