StoryboardIdentification
这是一个工具,允许您通过自动补全从 storyboards 中轻松实例化 View Controllers。忘记手动复制粘贴 Storyboard ID,以及在代码中保持它们更新。自动补全将仅显示在指定 storyboard 中通过 ID 可用的所有视图控制器。
安装
使用 CocoaPods
- 将以下行添加到您的 Podfile 中
pod 'StoryboardIdentification'
- 运行以下命令安装 pod
pod install
- 在 "Compile Sources" 节之前添加运行脚本阶段
${PODS_ROOT}/StoryboardIdentification/RefreshStoryboardsData.sh
-
在您项目中的任何位置创建一个名为 StoryboardIdentifiersUtils.swift 的空 swift 文件,例如在 Utils 组中。此文件将在每个 storyboard 修改后自动更新。
-
构建
使用方法
简单创建/修改现有的 storyboards 并为 View Controllers 指定 storyboard ID
构建项目。
现在您可以通过以下方式实例化任何视图控制器
let vc = ViewControllerClass.instantiate(from: .storyboardNameStoryboard(.viewControllerID))
示例
创建 Onboarding.storyboard 添加新的视图控制器,您可以为例如 SignUpViewController指定自定义类。指定Storyboard ID: SignUpViewControllerID。
现在您可以简单地调用
let vc = SignUpViewController.instantiate(from: .onboardingStoryboard(.signUpViewControllerID))
如果Storyboard中包含初始视图控制器,它将被自动映射到 .initial。
因此,您可以通过
let vc = OnboardingStartViewController.instantiate(from: .onboardingStoryboard(.initial))
结果类型
您可以通过直接指定它来获取自定义类型的视图控制器实例。或者,您也可以简单调用 UIViewController.instantiateViewController(...) 不指定具体类型。如果指定的类型与Storyboard中视图控制器的实际类型不匹配,则会收到致命错误。