XCodeを5回と6回に戻すと、すべてのView Controllerを1つのストーリーボードにまとめることはお勧めできませんでした。私の経験から、XCodeは遅くなりました。
今日の状況はどうですか? XCode 9でこれを処理できますか? Appleはすべてのものを一つの単なるストーリーボードに入れることを正式に推奨していますか?
回答:
回答№1は1私の意見では、モジュールやフローなどのアプリを分割する方が良いと考えています。 オンボーディング ストーリーボードにはログイン/登録情報が含まれています 設定 ストーリーボードには、設定メニューとサブメニュー(すべてのView Controller)が含まれています。 さらに、私は決して作成しない UITableViewCell または UICollectionViewCell 直接ストーリーボードで、私は専用の .xib ファイル。 View Controllerのインスタンス化とストーリーボードの処理(もっと一般的な方法で)を処理するのと同じ@Prashant Tukadiyaメソッドを使用します。
今日の状況はどうですか? XCode 9でこれを処理できますか?
私は1〜2年前に1つのストーリーボード内のすべてのビューコントローラを含むプロジェクトに取り組みましたが、最近XCode 9で開いていますが、それでもまだ非常に遅いです。
回答№2の場合は1
あなたが好きなときに、アプリケーションが大きくなり、ストーリーボードが開いたり/ゆっくりと保存されたりすると、メインのストーリーボードのビューコントローラの数が増えてアプリの機能が分割される
回答№3の場合は1
ストーリーボードはモジュール単位で分割する必要があります。それ以外の場合は、ストーリーボードの1回の変更でプロジェクトに多くの時間がかかります。
私のsuggesionです Storyboard Referenceを使用してsegue経由で接続することができます
https://www.raywenderlich.com/115697/ios-9-storyboards-tutorial-whats-new-in-storyboards
あなたがストーリーボードからアクセスするためにあなたのすべてのviewcontrollerで抽象メソッドの練習を持っている場合は、より良い解決策が必要です
と同じように
//--------------------------------------------------------------------------------
// MARK: - Abstract Methods
//--------------------------------------------------------------------------------
public class func viewController () -> LoginVC {
return StoryBoard.main.instantiateViewController(withIdentifier: StoryBoard.controller.LoginVC) as! LoginVC
}
//--------------------------------------------------------------------------------
// Now access it with LoginVC.viewController() and do push or present whatever your operation you requred
私はすべてを常時ファイルで管理しています
public struct StoryBoard {
static let main = UIStoryboard.init(name: "Main", bundle: nil)
struct controller {
static let LoginVC = "LoginView"
}
}
回答№4の場合は1
私は分割された異なるストーリーボードを作成しますそれらに参照を渡します(XCodeのStoryboard参照)。それらをより整理しておくのに役立ちます。また、GitHubにR.swiftという素晴らしいライブラリがあります( https://github.com/mac-cain13/R.swift)のように、Androidのリソースを持つファイルです。イメージ、ペン、ストーリーボードなどのすべてのリソースを解析し、名前でリソースを呼び出すときに間違いの可能性を減らします。