Обратите внимание на следующее:
protocol SomeProtocol: Equatable {}
// then, elsewhere...
var someValue: Any?
func setSomething<T>(_ value: T) where T: SomeProtocol {
someValue = value
}
func getSomething<T>() -> T? where T: SomeProtocol {
return someValue as? T
}
Эти функции работают нормально, но по сути действуют как вычисляемые свойства.Есть ли способ реализовать что-то вроде следующего?
var something<T>: T where T: SomeProtocol {
get { return someValue as? T }
set { someValue = newValue }
}
Спасибо за чтение.Извиняюсь, если этот вопрос уже задавался в другом месте, я искал, но иногда моя поисковая фу слаба.