测试已测试 | ✗ |
Lang语言 | SwiftSwift |
许可 | 自定义 |
发布最后发布 | 2017年12月 |
SwiftSwift 版本 | 4.0 |
SPM支持 SPM | ✗ |
由 SegueWithCompletion 维护。
SegueWithCompletion 是 UIViewController 扩展,它提供了执行 segue 和明确设置 viewcontroller 参数的能力,而无需重写 prepareForSegue 方法。
通过 CocoaPods
pod 'SegueWithCompletion', :git => "https://github.com/dhrebeniuk/SegueWithCompletion.git"
更改您执行的 segues
func openFooScreen() {
self.performSegue(withIdentifier: "fooSegue", sender: nil);
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let fooController = segue.destination as? FooViewController, segue.identifier == "fooSegue" {
fooController.settings = Settings()
}
}
为以下
func openFooScreen() {
self.perform(segue: "fooSegue") { (fooController: FooViewController) in
fooController.settings = Settings()
}
}
更改您执行的 segues
func openBarScreen() {
self.performSegue(withIdentifier: "barSegue", sender: nil);
}
override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
if let barNavigationController = segue.destination as? UINavigationController, segue.identifier == "fooSegue" {
if let barController = barNavigationController.topViewController as? BarViewController {
barController.settings = Settings()
}
}
}
为以下
func openBarScreen() {
self.performWithNavigationController(segue: "barSegue") { (barController: BarViewController) in
barController.settings = Settings()
})
}