Tôi có một giao thức nhanh chóng:Kiểm tra xem phương thức giao thức tùy chọn có được triển khai trong Swift không?
@objc protocol SomeDelegate {
optional func myFunction()
}
tôi một trong các lớp học của tôi, tôi đã làm:
weak var delegate: SomeDelegate?
Bây giờ tôi muốn kiểm tra xem delegate
có myFunction
thực hiện.
Trong Objective-C tôi có thể làm:
if ([delegate respondsToSelector:@selector(myFunction)]) {
...
}
Nhưng điều này không có sẵn trong Swift.
Chỉnh sửa: Điều này khác với: What is the swift equivalent of respondsToSelector? Tôi tập trung vào các giao thức lớp không có trên lớp học.
Làm cách nào để kiểm tra xem đại biểu của tôi có triển khai phương pháp tùy chọn không?
Bạn có chắc chắn rằng http://stackoverflow.com/a/27665147/1187415 này hoặc câu trả lời http://stackoverflow.com/a/28078301/1187415 này cho chuỗi được tham chiếu không trả lời câu hỏi của bạn không? –
Hiện tại phiên bản Swift nào không có sẵn khi câu hỏi được hỏi, nhưng trong 2.2 nhanh bạn có thể sử dụng respondsToSelector –