@foma24
QA Engineer

Как исправить ошибку Declaration ‘pressesEnded(presses:withEvent:)’ has different argument labels from any potential overrides?

Нашел приложение для tvOS, написано на swift 2, при попытке запуска на 4 версии появилось куча ошибок, почти все исправил, где то с помощью Fix, где то гуглением, но вот осталось две ошибки которые не поддаются гуглению и XCode их не предлагает исправить.

Declaration 'pressesEnded(presses:withEvent:)' has different argument labels from any potential overrides
Код
override func pressesEnded(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
        if presses.first?.type == UIPressType.menu {
            if let _ = (self.view as? SKView)?.scene as? MenuScene {
                // default behaviour [exit to apple tv home]
                super.pressesEnded(presses, with: event)
            }
        } else {
            // default behaviour [exit to apple tv home]
            super.pressesEnded(presses, with: event)
        }
    }
    
    override func pressesBegan(presses: Set<UIPress>, withEvent event: UIPressesEvent?) {
        if presses.first?.type == UIPressType.menu {
            if let _ = (self.view as? SKView)?.scene as? MenuScene {
                // default behaviour [exit to apple tv home]
                super.pressesBegan(presses, with: event)
            } else if let scene = (self.view as? SKView)?.scene as? GameScene {
                scene.returnToMenu()
            }
        } else {
            // default behaviour [exit to apple tv home]
            super.pressesBegan(presses, with: event)
        }
    }

5d0dbdbe5011e007528149.png
  • Вопрос задан
  • 71 просмотр
Решения вопроса 1
doublench21
@doublench21 Куратор тега Swift
Ну Вам ведь даже сам Xcode пишет:
Слушай, я вижу что такой метод есть, но почему-то у тебя отличаются названия агрументов. Может глянешь?


Для Вас даже в Xcode есть встроенная документация - ⌘ + Shift + 0. Если ввести название этого метода и глянуть на аргументы, то становится ясно, что presses нужно заменить _ presses, а withEvent нужно заменить на with Тоже самое сделать и со вторым методом.

func pressesBegan(_ presses: Set<UIPress>, with event: UIPressesEvent?)


P.S. Если Вы позиционируете себя iOS разработчиком, то как вы дальше та будете, если такая простая ошибка вызывает диссонанс.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы