Trong Objective-C, có thể chỉ định một lớp tuân theo giao thức làm tham số phương thức. Ví dụ: tôi có thể có một phương thức chỉ cho phép một phương thức UIViewController
tuân theo UITableViewDataSource
:
- (void)foo:(UIViewController<UITableViewDataSource> *)vc;
Tôi không thể tìm thấy cách nào để thực hiện việc này trong Swift (có lẽ vẫn chưa thể thực hiện được). Bạn có thể chỉ định nhiều giao thức bằng cách sử dụng func foo(obj: protocol<P1, P2>)
, nhưng làm thế nào để bạn yêu cầu đối tượng đó cũng thuộc một lớp cụ thể?