使委托变量既是子类又符合协议

时间:2016-08-26 16:19:17

标签: swift

我有一个符合SomeProtocol

的委托
weak var delegate:SomeProtocol?

现在我希望这个委托成为SomeClass

的子类

我如何在一个声明中做到这一点?

我是否必须定义一个新的子类,它继承自SomeClass并符合SomeProtocol

2 个答案:

答案 0 :(得分:0)

在Swift中,您可以使您的类继承自另一个类并符合多个协议。

这是语法

protocol CanRun { }
class Animal { }

class Cat: Animal, CanRun { }

答案 1 :(得分:0)

变量可以只有一个类类型或符合许多协议,在您的情况下,您可以创建SomeClass符合的另一个协议,比如SecondProtocol并指定您的delegate符合两者SomeProtocolSecondProtocol

weak var delegate: protocol<SomeProtocol, SecondProtocol>

或做你对新子类的说法。