测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可证 | MIT |
发布最后发布 | 2016年2月 |
SPM支持 SPM | ✗ |
由 Ian Terrell 维护。
Gemfile
gem "segue_handler_plugin"
Podfile
plugin 'segue_handler_plugin'
pod 'WillowTreeSegueHandler'
构建阶段 在 "编译源代码" 前添加运行脚本阶段,具体如下
bundle exec pod --no-ansi --silent generate-segue-handlers $PROJECT_DIR $PROJECT_NAME
构建一次,然后添加 SegueExtensions.swift
文件到您的项目中,并重新构建。
带标识符的 Segues 将被提取到视图控制器扩展中的嵌套枚举中,并写入 SegueExtensions.swift
。
以下为生成示例代码,假设 A
和 B
是通过标识符为 "ToB"
的 Segue 从 A
连接到 B
的视图控制器。
extension A: SegueHandler {
enum SegueIdentifier: String {
case ToB
}
enum ToSegueDestination: SegueDestination {
case ToB(B)
init?(identifier: SegueIdentifier, destination: UIViewController) {
switch identifier {
case .ToB:
guard let vc = destination as? B else { return nil }
self = ToB(vc)
}
}
}
}
这些可以在您的视图控制器中这样使用
func pushManually() {
performSegue(.ToB, sender: self)
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
switch segueFromStoryboardSegue(segue) {
case .ToB(let b):
b.prepare(dependency: "injected from a")
}
}
查看所附带的 Example
应用程序以获取工作演示。
想编写精彩的 tvOS 应用程序?想编写精彩的 iOS 应用程序? 查看我们的职位空缺!