質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

Q&A

解決済

2回答

2457閲覧

大量のviewcontroller

退会済みユーザー

退会済みユーザー

総合スコア0

Xcode

Xcodeはソフトウェア開発のための、Appleの統合開発環境です。Mac OSXに付随するかたちで配布されています。

Swift

Swiftは、アップルのiOSおよびOS Xのためのプログラミング言語で、Objective-CやObjective-C++と共存することが意図されています

0グッド

0クリップ

投稿2016/07/24 15:58

ただいまswiftでiOSアプリを制作しています。
現在作っている途中なんですがviewcontrollerが80を超える予定です。
この場合storyboardがviewcontrollerで埋め尽くされてしまいそうなのですがどのようにしたらいいでしょうか。
ちなみに1つのviewcontrollerから80個の画面に遷移させる予定です。

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

80個画面があるならViewControllerが80個できるのは仕方ないです。根本的な解決は画面を減らすことですが、私の手元にある2つの会社のアプリを調べたところViewControllerの数は50と60だったので、そこそこの規模のアプリなら80個あってもそれほど不思議ではないかと思います。

Storyboardは1つのオブジェクトが増えると開くのに時間がかかったり、共同作業でコンフリクトが発生しやすくなるデメリットがあるので、すべてのViewControllerを1つのファイルで作成するのではなく、適宜分割するようにします。

対象がiOS 9以降ならStoryBoardの分割にはStoryBoard Referenceという機能を使うことができます。
http://dev.classmethod.jp/smartphone/iphone/storyboardreference/

iOS 8でもStoryBoard Referenceを使うことは可能ですが、少し制限があります。

iOS 8から使われているテクニックとして、下記のようにStoryboardを分割し、インスタンス化や画面遷移はコードで行うという方法もあります。
http://blog.kishikawakatsumi.com/entry/20140730/1406686120

似た画面だからといってViewControllerのコードを早い段階で共通化するのはあまりお勧めしません。いくら似ていても違う画面なので、共通化した画面に微妙な差異が発生することはよくあります。その場合、却って条件分岐が増えたり複雑になることが大抵のパターンです。

投稿2016/07/24 18:46

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

0

こんばんは、
xcode Storyboard 使わない で検索すればいろいろ出てくるので調べてみてはどうでしょう。

でもそもそもちょっとUI設計に問題があるような気がしないでもないですが。
80種類の違う画面があるのですか? 似た画面があるなら共有するべきだと思いますよ。

投稿2016/07/24 16:04

Mr_Roboto

総合スコア2208

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問