单个故事板上的所有视图控制器
All view controllers on a single storyboard
回到XCode 5 和 6 次,不推荐将所有视图控制器放在一个故事板上,我的经验证明了这一点:XCode 变慢了。
今天是什么情况? XCode 9 可以解决这个问题吗? Apple 是否正式建议将所有内容都放在一个单一的故事板中?
如你所愿,有时你必须这样做,当主故事板中的视图控制器数量增加时,当你的应用程序变得更大并且故事板变得缓慢时,为了划分应用程序功能 opens/saves
你应该按照模块的方式划分故事板。否则,您的项目将在故事板的一次更改中花费很多时间。
我的建议是
您可以使用 Storyboard Reference 通过 segue 进行连接,请参见示例
https://www.raywenderlich.com/115697/ios-9-storyboards-tutorial-whats-new-in-storyboards
如果你不想要 segue,一个更好的解决方案是在你的每个 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"
}
}
在我看来,最好将应用程序划分为模块或类似的东西 "flows";例如,我通常会创建包含 login/registration 内容的 Onboarding 故事板,或包含设置菜单和子菜单的 Settings 故事板(它们都是视图控制器)。
此外,我从不直接在故事板中创建 UITableViewCell 或 UICollectionViewCell,但我创建了一个专用的 .xib文件。
我使用相同的@Prashant Tukadiya 方法来处理视图控制器实例化和故事板处理(以更通用的方式)。
What is the situation today? Can XCode 9 handle this?
我在 1-2 年前从事一个项目,该项目在一个故事板中包含所有视图控制器,我最近在 XCode 9 中打开它,但它仍然非常慢。
我为划分的逻辑单元创建不同的故事板并传递对它们的引用(XCode 中的故事板引用)。它有助于使它们更有条理。 GitHub 上还有一个名为 R.swift 的不错的库(参见 https://github.com/mac-cain13/R.swift),例如 Android 中的资源文件。它解析所有资源,如图像、nib、故事板等,并减少按名称调用资源时出错的可能性。
回到XCode 5 和 6 次,不推荐将所有视图控制器放在一个故事板上,我的经验证明了这一点:XCode 变慢了。
今天是什么情况? XCode 9 可以解决这个问题吗? Apple 是否正式建议将所有内容都放在一个单一的故事板中?
如你所愿,有时你必须这样做,当主故事板中的视图控制器数量增加时,当你的应用程序变得更大并且故事板变得缓慢时,为了划分应用程序功能 opens/saves
你应该按照模块的方式划分故事板。否则,您的项目将在故事板的一次更改中花费很多时间。
我的建议是 您可以使用 Storyboard Reference 通过 segue 进行连接,请参见示例
https://www.raywenderlich.com/115697/ios-9-storyboards-tutorial-whats-new-in-storyboards
如果你不想要 segue,一个更好的解决方案是在你的每个 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"
}
}
在我看来,最好将应用程序划分为模块或类似的东西 "flows";例如,我通常会创建包含 login/registration 内容的 Onboarding 故事板,或包含设置菜单和子菜单的 Settings 故事板(它们都是视图控制器)。 此外,我从不直接在故事板中创建 UITableViewCell 或 UICollectionViewCell,但我创建了一个专用的 .xib文件。 我使用相同的@Prashant Tukadiya 方法来处理视图控制器实例化和故事板处理(以更通用的方式)。
What is the situation today? Can XCode 9 handle this?
我在 1-2 年前从事一个项目,该项目在一个故事板中包含所有视图控制器,我最近在 XCode 9 中打开它,但它仍然非常慢。
我为划分的逻辑单元创建不同的故事板并传递对它们的引用(XCode 中的故事板引用)。它有助于使它们更有条理。 GitHub 上还有一个名为 R.swift 的不错的库(参见 https://github.com/mac-cain13/R.swift),例如 Android 中的资源文件。它解析所有资源,如图像、nib、故事板等,并减少按名称调用资源时出错的可能性。