У меня есть структура Пользователь со списком хобби, следующим образом:
struct User: Hashable, Codable, Identifiable, Equatable {
var id: String
var name: String
var hobbies: [String]
}
Затем я создаю представление списка, используя список пользователей в качестве переменной состояния. При нажатии кнопки в представлении списка новое хобби добавляется к хобби пользователя.
struct UsersListView: View {
@State var users: [User]
var body: some View {
TitleView(titleText: "Friends")
.padding(.leading, 30.0)
List(userDisplayList) { user in
Text(user.name)
Text(user.hobbies.joined(separator: ", "))
Button(action: {self.users[0].hobbies.append("new hobby")}
}
}
}
}
}
Однако, когда я нажимаю на кнопку, переменная состояния пользователя не изменяется и остается прежней. Кто-нибудь может объяснить, что здесь происходит?