Skip to content

Instantly share code, notes, and snippets.

@BestKora
Last active August 29, 2015 14:08
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save BestKora/d3c38fc092a7336c6abd to your computer and use it in GitHub Desktop.
Save BestKora/d3c38fc092a7336c6abd to your computer and use it in GitHub Desktop.
extension String {
func toEnum<Enum: RawRepresentable where Enum.RawValue == String>() -> Enum? {
return Enum(rawValue: self)
}
}
class ViewController: UIViewController {
.............
// Replace Magic Strings with Enumerations in Swift
enum SegueIdentifier: String {
case SegueToRedViewIdentifier = "SegueToRedViewIdentifier"
case SegueToGreenViewIdentifier = "SegueToGreenViewIdentifier"
case SegueToBlueViewIdentifier = "SegueToBlueViewIdentifier"
}
override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) {
let y: SegueIdentifier? = segue.identifier?.toEnum() // IMPORTANT!
if let segueIdentifier = y {
switch segueIdentifier {
case .SegueToRedViewIdentifier:
println("red")
case .SegueToGreenViewIdentifier:
println("green")
case .SegueToBlueViewIdentifier:
println("blue")
}
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment