En Objective-C, es posible especificar una clase conforme a un protocolo como parámetro de método. Por ejemplo, podría tener un método que solo permita un UIViewController
que se ajuste a UITableViewDataSource
:
- (void)foo:(UIViewController<UITableViewDataSource> *)vc;
No puedo encontrar una manera de hacer esto en Swift (quizás aún no sea posible). Puede especificar varios protocolos usando func foo(obj: protocol<P1, P2>)
, pero ¿cómo se requiere que el objeto también sea de una clase en particular?