2016-10-11 13 views
6

Ten kod jest Swift 2„Metoda nie zastępuje żadnej metody z nadklasy” Swift 3

override func prepareForSegue(segue: UIStoryboardSegue, sender: AnyObject?) { 
    let playerViewController = segue.destination as! PlayerViewController 
    playerViewController.videoID = channelsDataArray[selectedVideoIndex]["videoID"] as! String 
} 

Błędy „Metoda nie zastępuje żadnej metody z nadklasy”

Please rozwiązanie dla swift 3

+0

Jaką klasę stosuje ta metoda? Czy to nie jest "UIViewController"? – drootang

+0

Czy zamierzasz zastąpić metodę z nadklasy? A jaka jest twoja superklasa? Czy ma podobną metodę? – gnasher729

Odpowiedz

17

Swift 3 jest prepare(for:sender:) i drugi parametr jest Any:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 
    let playerViewController = segue.destination as! PlayerViewController 
    playerViewController.videoID = channelsDataArray[selectedVideoIndex]["videoID"] as! String 
} 

W przyszłości, jeśli tymczasowo skomentujesz swoją metodę i zaczniesz wpisywać prepare, uzupełnianie kodu pokaże Ci prawidłowy podpis metody.

+0

To samo dotyczy Swift 4 – bearacuda13

Powiązane problemy