2016-10-11 14 views
6

Mã này là nhanh chóng 2"Phương pháp không ghi đè lên bất kỳ phương pháp từ lớp cha của nó" Swift 3

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

lỗi "Phương pháp không ghi đè lên bất kỳ phương pháp từ lớp cha của nó"

giải pháp Hãy cho nhanh 3

+0

Phương thức này là gì bên trong? Nó không phải là 'UIViewController'? – drootang

+0

Bạn có ý định ghi đè một phương thức từ lớp cha của mình không? Và siêu lớp của bạn là gì? Nó có phương pháp tương tự không? – gnasher729

Trả lời

17

Trong Swift 3, nó là prepare(for:sender:) và tham số thứ hai là Any:

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

Trong tương lai, nếu bạn tạm thời nhận xét phương pháp của mình và bắt đầu nhập prepare, hoàn thành mã sẽ hiển thị cho bạn chữ ký phương thức thích hợp.

+0

Tương tự với Swift 4 – bearacuda13

Các vấn đề liên quan