最佳答案
在 Objective-C 中,可以将符合协议的类指定为方法参数。例如,我可以有一个只允许 UIViewController
符合 UITableViewDataSource
的方法:
- (void)foo:(UIViewController<UITableViewDataSource> *)vc;
我在 Swift 中找不到这样做的方法(也许现在还不可能)。您可以使用 func foo(obj: protocol<P1, P2>)
指定多个协议,但是如何要求对象也是特定类的对象呢?