В простой игре памяти у меня есть структура, которая определяет две карты, которые были нажаты, и возвращает в мутирующих функциях целые числа firstFlippedCard и secondFlippedCard.
Если они не совпадают по другому свойству, я хочу обе карты «перевернуть». Я сделал функцию перехода для этого - однако, я могу сделать только последнюю нажатую кнопку, чтобы переключиться назад, используя следующие логи c:
@IBAction func cardsPress(_ sender: UIButton) {
flip(sender: sender)
if cardBrain.checkFirstCard(card: sender.tag - 1) == true {
//stay flipped
} else if cardBrain.checkForMatch(card: sender.tag - 1).match == true {
//stay flipped
} else {
DispatchQueue.main.asyncAfter(deadline: .now() + .seconds(1), execute: {
self.backFlip(sender: sender)
})
}
}
Обратите внимание, что несколько кнопок UIB связаны с cardsPress. Как я могу заставить их обоих перевернуться вместо одного отправителя?