SegueWithCompletion 0.1.6

SegueWithCompletion 0.1.6

测试已测试
Lang语言 SwiftSwift
许可 自定义
发布最后发布2017年12月
SwiftSwift 版本4.0
SPM支持 SPM

SegueWithCompletion 维护。



  • Dmytro Hrebeniuk

SegueWithCompletion

SegueWithCompletion 是 UIViewController 扩展,它提供了执行 segue 和明确设置 viewcontroller 参数的能力,而无需重写 prepareForSegue 方法。

安装

通过 CocoaPods

pod 'SegueWithCompletion', :git => "https://github.com/dhrebeniuk/SegueWithCompletion.git"

Storyboard 使用

显示 UIViewContreoller

更改您执行的 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()
    }
}

使用 UINavigationController 显示 UIViewContreoller

更改您执行的 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()
    })
}

兼容性/限制

  • iOS8+ 才支持