Hello everybody,
Im new to Swift programming or app programming in geenrell and now im working on my first project. However im struggling right now with something. I crated an object for my Quizzplayer. To give them a name I want to create a textfield for each one of them where the user can enter the name. let me give u a code snippet for my quizPlayer object:
class QuizPlayer: ObservableObject {
@Published var name: String
@Published var points: Int
@Published var isActive: Bool
init(name: String) {
self.name = name
self.points = 0
self.isActive = false
}
func addPoints(pointsToAdd: Int) {
self.points += pointsToAdd
}
func changeName(newName: String) {
self.name = newName
}
}
I create 5 empty Quizzplayers at the beginning:
@State private var quizPlayers: [QuizPlayer] = Array(repeating: QuizPlayer(name: ""), count: 5)
then I create my Textfields and try to bind dem to the names of the players:
ForEach(0 ..< self.numberOfPlayers, id: .self) { index in
TextField("Player (index + 1) name", text: self.$quizPlayers[index].name)
.padding()
}
But it's not working at all. very time I run the simulator and edit one textfield, every textfield gets changed so I can't edit them individually. I´m not sure if I used the State and ObservableObject right or what the issue is. Maybe someone understands my problem and can help me.
All the best
Leon
Selecting any option will automatically load the page