Связывание SwiftUI переменной другого объекта не работает
Я хочу, чтобы моя модель представления имела состояние для привязки не в основном представлении.
В приведенном ниже коде я привязал переменную @GestureState модели представления к DragGesture в основном представлении. Но проблема в том, что без ошибок компиляции моя переменная @GestureState вообще не обновляется. Если я определю переменную @GestureState в основном представлении, она сработает. Есть идеи?
class ViewModel {
@GestureState var dragOffset = CGSize.zero
}
struct ExampleView: View {
var viewModel = ViewModel()
var body: some View {
Image(systemName: "star.circle.fill")
.font(.system(size: 100))
.offset(x: viewModel.dragOffset.width, y: viewModel.dragOffset.height)
.animation(.easeInOut)
.foregroundColor(.green)
.gesture(
DragGesture()
.updating(viewModel.$dragOffset, body: { (value, state, transaction) in
print(state)
state = value.translation
print(state)
})
)
}
}