touchesBegan () - это метод, определенный NSResponder, и каждый UIView в вашем приложении является NSResponder. Это означает, что метод touchesBegan () в вашем коде уже работает для конкретного представления. Если вы посмотрите на класс, частью которого он является, он похож на UIView или viewController, и этот метод touchesBegan () получает касания в любом месте этого представления.
В программах с разными представлениями у вас могут быть разные методы touchesBegan (), по одному для каждого вида (или по одному для каждого вида со значительными сенсорными действиями). Эти методы могут выполнять разные вещи - можно начинать игру, перемещать фигуры в игре и т. Д.
В общем, touchesBegan () полезен для ситуаций (и представлений), где вы хотите отслеживать, где и как ваш пользователь перемещается по представлению. Если вас интересует только касание элемента вашего экрана для запуска одного действия (например, запуска игры), UIButton (особый тип просмотра) часто является более удобным подходом, чем реализация вашего собственного прикосновения. обработчик. Вот очень простое руководство для кнопок UIB в Swift и iOS. В вашем случае state
кнопки (независимо от того, активируется она или отключается) можно установить, когда gameState == .ready
), а action
кнопки (что происходит при нажатии кнопки) может быть вызовом startGame()
.