0
我想用另一种协议扩展协议委托如下:延伸。在协议规定的委托与其他协议
protocol WriteableCallback: class {
...
}
protocol Writeable {
weak var delegate: WriteableCallback? { get set }
}
protocol NetworkWriteablecallback: WriteableCallback {
...
}
protocol NetworkWriteable: Writeable {
..
}
现在实施NetworkWriteable是相当直截了当:
final class DefaultNetworkWriteable: NetworkWriteable {
weak var delegate: NetworkWriteablecallback?
//type 'DefaultNetworkWriteable' does not conform to protocol 'Writeable
//because delegate should be of type 'Writeablecallback'
}
如果我写
weak var delegate: Writeablecallback?
一切编译和工作正常,除了我不能调用方法NetworkWriteablecallback直接。我知道,如果我沮丧的代表如下
if let delegate = delegate as? NetworkWriteablecallback {
...
}
比它的工作正常,但铸造不是一个好方法。
其他建议?