In Objective-C ist es möglich, eine Klasse, die einem Protokoll entspricht, als Methodenparameter anzugeben. Zum Beispiel könnte ich eine Methode haben, die nur eine erlaubt UIViewController
, die konform ist mit UITableViewDataSource
:
- (void)foo:(UIViewController<UITableViewDataSource> *)vc;
Ich kann in Swift keinen Weg finden, dies zu tun (vielleicht ist es noch nicht möglich). Sie können mehrere Protokolle mit angeben func foo(obj: protocol<P1, P2>)
, aber wie benötigen Sie, dass das Objekt auch einer bestimmten Klasse angehört?