2016-09-19 14 views
23

vì một số lý do kỳ lạ, với độ nhanh 3, phương thức prepare(for segue: từ chối xác nhận số nhận dạng segue. Tôi đã sau kết nối của IBAction vào một nút của cặp vợ chồng trên giao diện người dùng:chức năng chuẩn bị nhanh (cho segue:) bị hỏng?

@IBAction func goToImagesPicker(_ sender: AnyObject) { 
    performSegue(withIdentifier: "showImagePicker", sender: sender) 

} 

@IBAction func goToNamePicker(_ sender: AnyObject) { 
    performSegue(withIdentifier: "showNamePicker", sender: sender) 
} 

Tuy nhiên trong phương pháp prepare(for segue: của tôi, nó không nhận ra của định danh segue khác nhau, tôi biết như vậy bởi vì giao diện điều khiển của tôi không đăng nhập các thông điệp tôi được gán cho mỗi:

func prepare(for segue: UIStoryboardSegue, sender: AnyObject?) { 

     if segue.identifier == "showImagePicker" { 

      print("This is the Image Picker") 

     } 

     if segue.identifier == "showNamePicker" { 

      print("This is the Name Picker") 

     } 
} 

bất kỳ đề xuất nào? hay đây chỉ là một lỗi?

+0

Thay thế bằng mã ghi đè sau func preparForSegue (segue: UIStoryboardSegue, sender: AnyObject?) { in ("test"); // Lấy bộ điều khiển xem mới bằng cách sử dụng segue.destinationViewController. // Chuyển đối tượng đã chọn tới bộ điều khiển chế độ xem mới. } –

Trả lời

56

Phương pháp của bạn hoàn toàn không được gọi vì bạn có chữ ký sai. Nó được thay đổi trong Xcode 8 beta 6 đến:

override func prepare(for segue: UIStoryboardSegue, sender: Any?) { 

Lưu ý rằng loại senderAny? thay vì AnyObject?. Bạn nên đã có một lỗi sau khi nâng cấp Xcode mà nói với bạn phương pháp của bạn không ghi đè bất kỳ phương pháp nào từ siêu lớp của nó mà nên đã clued bạn trong trước khi bạn xóa override.

+0

điều này có vẻ là giải pháp nhưng, tôi đọc tài liệu kỹ lưỡng của tôi không bao giờ nhìn thấy một sự thay đổi trong cú pháp đối tượng người gửi ... Vì vậy, tôi chỉ cần loại bỏ các ghi đè vô tình. tuy nhiên, cảm ơn dù sao đi nữa! –

+1

tính đến hôm nay, tôi gặp lỗi mà không ghi đè nhưng ghi đè không được gọi – quantumpotato

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