В основном для этого простого игрового приложения у меня есть 2 разных UIViewController, называемых ViewController и PreviewController. PreviewController открывает вид с титульным экраном и надписью «Начать игру». При нажатии на метку он запускает модальный контроллер представления (класс ViewController, который имеет все представления для самой игры) и вызывает метод «EnterNewGame» из ViewController, который устанавливает игру. Прямо сейчас у меня возникает проблема при вызове этого метода, кажется, что работает только часть метода.
Вот функция в PreviewController, которая запускается при нажатии:
@objc func handleButtonTap(_ recognizer: UITapGestureRecognizer) {
self.present(ViewController(), animated: true, completion: {() -> Void in
ViewController().enterNewGame()
})
}
А вот и метод EnterNewGame () из ViewController
func enterNewGame() {
//show suit indicators when starting a new game
bluePlayerSuitsHidden = false
redPlayerSuitsHidden = false
game.blueTurn = true
self.setBackground()
self.cleanUpBoard()
self.createBoard()
self.displayBoard()
self.setSuitIndicators()
self.highlightCards()
playButton.isEnabled = false
}
Прямо сейчас, когда на этикетке нажимают, экран переходит к контроллеру модального вида, но отображает только черный экран, и только одна из настроек игры (установка нескольких изображений в верхней части экрана) работает должным образом. Я уверен, что метод EnterNewGame работает правильно, чтобы фактически запустить игру, потому что я тестировал ее изолированно, поэтому я думаю, что я просто не настраиваю контроллер модального представления должным образом, или я должен вызывать метод по-другому. Любая помощь приветствуется, спасибо.