如果Self是两个(或更多)类之一,则允许使用协议吗?

时间:2019-02-07 06:20:40

标签: swift protocols

我正在做一个我希望UIView和UIViewController都可以使用的协议

我尝试做

    protocol ShowsResponse where Self: UIViewController, Self: UIView {
    ...
    }

但是如错误所示,它解释为Self应该同时是UIViewController和UIView

是否有类似“ Protocol ShowsResponse的东西,其中Self:UIViewController”或“ Self:UIView”

1 个答案:

答案 0 :(得分:3)

为什么不尝试写下协议并为UIViewController和UIView编写扩展名...

例如

 extension UIView: ShowsResponse {
 ...
 }

 extension UIViewController: ShowsResponse {
 ...
 }

 protocol ShowsResponse {
 ...
 }

我认为这应该可以解决您的问题。