質問: iOSアプリ開発をしたいと思い、xcodeで開発を始め、入門書を一冊読み終えました。 入門書では、基本的にstoryboard上でUIを作成していましたが、 ネットの情報や手元のSwiftポケットリファレンスでは、コード主体でのUIの作り方が記載されています。 そこで、2点ほど疑問に思ったのですが、 (1)storyboardでUIを作るメリット/デメリットは何でしょうか? storyboardが視覚的にUIを設計できてとても便利だということは承知の上での質問です。 (2)また、ポケットリファレンスではコードベースで記載されているのはなぜでしょうか? もしもstoryboardが万能だとしたらわざわざコードベースでの説明とせず、図主体のリファレンスの方が扱いやすいように思えてしまいます。 初心者はstoryboardで作成し、上級者になればなるほどかゆいところにも手が届くコーディングベースでの開発となっていくのか、 それとも上級者でもstoryboardとコーディングを使い分けているのか・・・ よろしくお願いします。
回答: storyboardでUIを作るメリットはすでに理解されている通りですが、デメリットはいろんな場所に設定が散らばっていて必要な情報が隠れやすく流用がしづらいということだと思います。例えばStoryboardで作られているビューを別のプロジェクトに流用したかったら、とりあえずビューをコピーした後、アウトレット接続等の設定を一度全部見直して再接続したり、制約を再設定したりする必要があります。すべてコードで書かれていたら、そのビューを定義しているファイルをコピーし、そのビューを利用するコードを書けばいいだけです。(その利用するコードを書くのが面倒という話もありますが) 質問にあるポケットリファレンスは見た事ありませんが、おそらく全てコードで説明した方が必要な設定が説明しやすいのだと思います。初心者には図入りのリファレンスの方がわかりやすいと思いますが、ある程度理解している人には、コードで書かれていた方が必要な設定が簡潔にまとめられているので理解しやすいということです。そして、そのコードで書かれた設定をStoryboardで使う場合にはどうしたらいいかという事はだいたい理解しているし、Storyboardで設定できない部分はコードで書けばよいと思っているので、Storyboardで説明してもらう必要がないのです。 たぶん上級者ほどstoryboardとコーディングの使い分けがうまいと思います。