Swiftpack.co - dhrebeniuk/SegueWithCompletion as Swift Package

Swiftpack.co is a collection of thousands of indexed Swift packages. Search packages.
See all packages published by dhrebeniuk.
dhrebeniuk/SegueWithCompletion 0.1.12
Convenient methods for performing storyboards segues. without override "prepareForSegue" method
⭐️ 5
🕓 3 years ago
iOS
.package(url: "https://github.com/dhrebeniuk/SegueWithCompletion.git", from: "0.1.12")

SegueWithCompletion

SegueWithCompletion is UIViewController extension that provides ability perform segue and clarify setup viewcontroller parameters without override prepareForSegue method.

Installation

Via CocoaPods:

pod 'SegueWithCompletion'

Storyboard Usage

Present UIViewContreoller

Change perform your's segues from this:


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()
    }
}


To this:


func openFooScreen() {
    self.perform(segue: "fooSegue") { (fooController: FooViewController) in
		fooController.settings = Settings()
    }
}

Present UIViewContreoller with UINavigationController

Change perform your's segues from this:


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()
        }
    }
}


To this:


func openBarScreen() {
    self.performWithNavigationController(segue: "barSegue") { (barController: BarViewController) in
        barController.settings = Settings()
    })
}

Compatibility/Restrictions

  • iOS8+ only

GitHub

link
Stars: 5
Last commit: 3 years ago
Advertisement: IndiePitcher.com - Cold Email Software for Startups

Swiftpack is being maintained by Petr Pavlik | @ptrpavlik | @swiftpackco | API | Analytics