您可以使用where子句对通用类进行此 *** 作:
使用where子句可以要求关联的类型符合某种协议,并且/或者某些类型的参数和关联的类型必须相同。
若要使用它,请在具有类型约束的泛型类中定义您的属性类,以检查属性的type参数是否与所需的基类和协议相匹配。
对于您的特定示例,它可能看起来像这样:
class MyViewController<T where T: UIView, T: Protocol1, T: Protocol2>: UIViewController { var myView: T // ...}
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)