import Foundation enum OutputFormatSetting: Int { case gifOnly = 0 case mp4Only = 1 case all = 2 init?(_ string: String) { switch(string) { case "gif": self = .gifOnly case "mp4": self = .mp4Only case "all": self = .all default: return nil } } func shouldSaveGif() -> Bool { return self == .gifOnly || self == .all } func shouldSaveMp4() -> Bool { return self == .mp4Only || self == .all } func toString() -> String { switch(self) { case .gifOnly: return "gif" case .mp4Only: return "mp4" case .all: return "all" } } }