如果 Self 是 swift 中的两个(或多个)类之一,则允许使用协议



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

我试过做

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

但正如错误所示,它解释为 Self 应该既是 UIViewController 又是 UIView

有没有类似"协议显示响应,其中自我:UIView控制器"或"自我:UIView">

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

例如

 extension UIView: ShowsResponse {
 ...
 }
 extension UIViewController: ShowsResponse {
 ...
 }
 protocol ShowsResponse {
 ...
 }

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

最新更新