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)
}
まとめ
- かんたん・きれい・色あせない 方法で管理できるようになりました。
- その他にもぐぐるといろいろな方法が出てきます。
- もっと難しい方法もあるみたいですが、私の理解を超えているのでこれで許してください。