LoginSignup
13

More than 5 years have passed since last update.

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

Last updated at Posted at 2017-09-18

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

まとめ

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

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
13