2015-10-31 2 views
-1

Я делаю игру ios с движущимся персонажем и вращающимся оружием, это сработало, но затем я взял перерыв на месяц, а ios получил обновление до 9. Мой код больше не работает и дает мне ошибку. Какая ошибка и что еще важнее, как мне ее исправить?Что это за ошибка Override и как ее исправить?

override func touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) { 
    for touch in (touches as! Set<UITouch>) { 
     let location = touch.locationInNode(self) 
     if (leftButton.containsPoint(location)){ 
      leftPressed = true 
     }else{ 
      leftPressed = false 
     } 
     if (rightButton.containsPoint(location)){ 
      rightPressed = true 
     }else{ 
      rightPressed = false 
     } 
    } 
} 

Это один из моих фрагментов кода, который получает ошибку. Вот ошибка: метод не отменяет какой-либо метод из его суперкласса

ответ

0

Что случилось, так это то, что во время обновления iOS 9 функция изменилась, и ваша реализация устарела и перестала быть действительной.

Прочитайте документацию here (уже в функции, которую вы используете).

Вы определили свою функцию

touchesMoved(touches: Set<NSObject>, withEvent event: UIEvent) 

Новая реализация является

touchesMoved(touches: Set<UITouch>, withEvent event: UIEvent?) 

Ваша реализация использует другой тип данных в качестве аргумента, и, следовательно, не та же функция, и именно поэтому вы получение ошибки переопределения.