In Objective-C, è possibile specificare una classe conforme a un protocollo come parametro del metodo. Ad esempio, potrei avere un metodo che consente solo un UIViewController
che è conforme a UITableViewDataSource
:
- (void)foo:(UIViewController<UITableViewDataSource> *)vc;
Non riesco a trovare un modo per farlo in Swift (forse non è ancora possibile). È possibile specificare più protocolli utilizzando func foo(obj: protocol<P1, P2>)
, ma come si richiede che anche l'oggetto appartenga a una classe particolare?