Ios 将协议使用限制为两种类类型

Ios 将协议使用限制为两种类类型,ios,swift,Ios,Swift,我有一个协议,我想给它添加一个类约束,我想把它约束到两个类中的一个,要么是UIView,要么是UIViewController,但我无法让它工作。我试过: protocol MyProtocol where Self: UIView | UIViewController 但我不能让它工作。这是可能的还是我只是在浪费时间?UIView和UIViewController都是类,Objective-C和Swift都不支持从类中进行多重继承 因此,它会给您带来多重继承错误: protocol MyPr

我有一个协议,我想给它添加一个类约束,我想把它约束到两个类中的一个,要么是
UIView
,要么是
UIViewController
,但我无法让它工作。我试过:

protocol MyProtocol where Self: UIView | UIViewController

但我不能让它工作。这是可能的还是我只是在浪费时间?

UIViewUIViewController都是类,Objective-C和Swift都不支持从类中进行多重继承

因此,它会给您带来多重继承错误:

protocol MyProtocol: UIView, UIViewController
如果你看到这样的情况:

class ViewController: UIViewController, PKCanvasViewDelegate, PKToolPickerObserver
这个类继承了一个类并符合两个协议。关键是Swift只支持从类中进行单一继承

protocol MyProtocol: UIView, UIViewController
class ViewController: UIViewController, PKCanvasViewDelegate, PKToolPickerObserver