Код Swift запускается только тогда, когда он не должен, даже если он инкапсулирован внутри оператора if.
Извините за глупый вопрос, я пытался написать игру SwiftUI, которая отображает «X», когда пользователь касается экрана во время своего хода, и «O», если это не указанная очередь пользователя. Это часть моего кода, которая вызывает у меня проблемы (я уже объявил все переменные, которые использую в другой части моего кода, которую я не буду отправлять сюда, поскольку это было бы бесполезно):
ZStack(content: {
RoundedRectangle(cornerRadius: 12.0, style: .continuous)
.aspectRatio(contentMode: .fit)
.foregroundColor(Color(UIColor.systemGroupedBackground))
.onTapGesture {
if mark == nil {
nextPlayerTwoMarkPosition = Int.random(in: 1...10)
if whoseTurnIsIt == "user" {
mark = "xmark"
whoseTurnIsIt = "device"
} else {
if nextDeviceMarkPosition == 1 {
mark = "circle"
whoseTurnIsIt = "user"
}
}
}
}
Image(systemName: mark ?? "")
})
Это только кажется, что позволяет устройству отмечать квадрат после того, как игрок нажал на него, даже если это был не его ход. Я пытаюсь найти решение, как заставить устройство отмечать случайный квадрат (всего их 9) во время своего хода.