В приведенном ниже коде после запуска я вижу текст в первой строке «xxxxxxxx», а не «Начальное значение, которое мы хотим». Похоже, что строка "$ strValue.wrappedValue = tempStr" в инициализаторе gcRow не работает?
Вопрос - как исправить, чтобы я мог правильно передать ему начальное значение для дочернего представления, и оно правильно его использует?
Игровые площадки Код:
import SwiftUI
import PlaygroundSupport
struct gcRow : View {
@State var strValue : String = "xxxxxxxx"
init(tempStr : String) {
$strValue.wrappedValue = tempStr // <== DOESN'T SEEM TO WORK
}
var body : some View {
HStack {
Text(strValue)
}
}
}
struct GCParentView: View {
var body: some View {
VStack {
List {
gcRow(tempStr: "Initial Value we Want")
}
}
}
}
let gcParentView = GCParentView()
PlaygroundPage.current.liveView = UIHostingController(rootView: gcParentView)
Изображение / Snapshop того, что я вижу после запуска: