При попытке установить вычисленное свойство s в представлении SwiftUI компилятор получает ошибку «Невозможно присвоить свойству: 'self' неизменяемо».
Как мне вызвать установщик?
struct Test: View{
@State var _s = "test"
@State var _s2 = true
private var s : String
{ get { _s }
set (new)
{ _s = "no test"
_s2 = false
// do something else
}
}
var body: some View
{ Text("\(s)")
.onTapGesture {
self.s = "anyting" // compiler error
}
}
}
@State
... почему? Представление - это структура, значение, оно не может изменяться изнутри, поэтому есть @State - это то, что вы пытаетесь сделать. Просто используйте это. - person Asperi   schedule 28.02.2020