как я могу обновить данные в TextField, которые живут в деталях NavigationView? Я хочу, чтобы данные обновлялись в списке родительского представления. Вот мой код:
class Address: ObservableObject, Identifiable {
let id = UUID()
@Published var name: String
@Published var age: String
init(name: String, age: String) {
self.name = name
self.age = age
}
}
class AddressBook: ObservableObject {
@Published var addresses: [Address]
init(addresses: [Address]) {
self.addresses = addresses
}
}
struct TestData {
static let addressbook = AddressBook(addresses: [
Address(name: "Person1", age: "39"),
Address(name: "Person2", age: "22")
])
}
struct ContentView: View {
@ObservedObject var addressbook = TestData.addressbook
var body: some View {
NavigationView {
List (addressbook.addresses) {address in
NavigationLink(destination: AddressDetail(address: address)) {
Text(address.name)
}
}
.navigationBarTitle("Addressbook")
}
}
}
struct AddressDetail: View {
@ObservedObject var address: Address
var body: some View {
Form {
TextField("name", text: $address.name)
TextField("age", text: $address.age)
}
}
}
Этот код не работает: если я перейду в AddressDetail-View, изменю значения TextField, а затем вернусь, изменения не обновятся в List-View.
Нико