Получить значение привязки

#swift #swiftui

Вопрос:

Я пытаюсь создать @State переменную внутри пользовательского инициализатора на основе переданной привязки. Я получаю ошибку Cannot convert value of type 'Bindinglt;Colorgt;' to expected argument type 'Color' . Есть ли способ извлечь исходную ценность из самого ожидания? Это пример:

 struct ContentView: View {    @State var color = Color.red    var body: some View {    SomeView(color: $color)  } }  struct SomeView: View {    @Binding var color: Color  @State var someOtherColor: Color    init(color: Bindinglt;Colorgt;) {    _color = color    _someOtherColor = State(initialValue: color) // ERROR: Cannot convert value of type 'Bindinglt;Colorgt;' to expected argument type 'Color'  }    var body: some View {  Text("Hello, world!")  } }  

Ответ №1:

Вы можете использовать wrappedValue свойство of Binding для доступа к его базовому значению.

 _someOtherColor = State(initialValue: color.wrappedValue)