W Objective-C można określić klasę zgodną z protokołem jako parametr metody. Na przykład mógłbym mieć metodę, która zezwala tylko na to, UIViewController
co jest zgodne z UITableViewDataSource
:
- (void)foo:(UIViewController<UITableViewDataSource> *)vc;
Nie mogę znaleźć sposobu, aby to zrobić w Swift (być może nie jest to jeszcze możliwe). Możesz określić wiele protokołów przy użyciu func foo(obj: protocol<P1, P2>)
, ale jak chcesz, aby obiekt był również określonej klasy?