Edited at

[swift] Storyboardのsegue idを「かんたん・きれい・色あせない」方法で管理する

More than 1 year has passed since last update.


Storyboardのsegue idを「かんたん・きれい・色あせない」方法で管理する


概要


  • Storyboardを使っているとsegueのidを文字列で指定すると思うのですが、ソースでも同じidじゃないといけません。

  • 増えると面倒なのでまとめていると思いますが、enumが便利なのでそっちでまとめています。


実際のコード


  • SegueHandlerType.swift と Config.swift を適当な場所においておきます。


Utility/SegueHandlerType.swift

protocol SegueType {

var rawValue: String { get }
}

extension UIViewController {
/**
performSegue for segue
- Parameters:
- segue: Segue
- sender: AnyObject
*/

func performSegue(segue: Segue, sender: AnyObject?) {
performSegue(withIdentifier: segue.rawValue, sender: sender)
}
}




  • toCamera などをStoryboardのsegueに書いておきつつここでまとめる


Config/Config.swift

enum Segue: String, SegueType {

case toCamera
case toPhotos
case toTutorial
case toDetail
}



  • Controllerから呼び出す


Controllers/Hoge/Hoge.swift

private func firstExplain() {

self.performSegue(segue: .toTutorial, sender: nil)
}


まとめ



  • かんたん・きれい・色あせない 方法で管理できるようになりました。

  • その他にもぐぐるといろいろな方法が出てきます。

  • もっと難しい方法もあるみたいですが、私の理解を超えているのでこれで許してください。