Использование трехпозиционного сегментированного элемента управления, представляющего секунды 60, 30 и 15. Код для перечисления:
enum RefreshRate: Int {
case sixty = 0
case thirty
case fifteen
func refreshEvery() -> Double {
switch self {
case .sixty: return 3600.0
case .thirty: return 1800.0
case .fifteen: return 900.0
}
}
}
используется как:
let defaultValue = UserDefaults.standard.integer(forKey: "refreshRate")
let refreshInterval = RefreshRate(rawValue: defaultValue)?.refreshEvery()
отлично работает.
Есть ли более простой способ получить целое число 60 в первом случае перечисления без использования функции или оператора switch?