Я добавляю немного синтаксического сахара в свое приложение, и я столкнулся с «несоответствием».Вероятно, для этого есть веская причина, но есть способ немного очистить реализацию.Я делаю это, чтобы предоставить единственное место для установки / получения некоторых свойств.
enum MyType: String {
case Unknown, First, Second
var enabled: Bool {
set { UserDefaults.standard.set(newValue, forKey: self.rawValue) }
get { return UserDefaults.standard.bool(forKey: self.rawValue) }
}
}
Теперь я могу использовать значения enum для получения значений по умолчанию
if MyType.First.enabled {
........
}
Но я не могу установить напрямуюзначение:
MyType.First.enabled = true
elicits 'не может установить свойство, First не может быть назначено'
, но я могу сойти с рук
var type = MyType.First
type.enabled = true
Есть ли простой способиспользовать однострочный метод?