您指示扩展使用以下语法实现协议:
extension Array : MyProtocol
您可以使用以下语法约束数组扩展名:
extension Array where Element:MyProtocol
我有一种情况,我想表明MyProtocol仅在Element实现MyProtocol的情况下为Arrays实现,所以我尝试了:
extension Array where Element:MyProtocol : MyProtocol {
}
给出了一个非常模糊的错误消息
Statement cannot begin with a closure expression
和
extension Array : MyProtocol where Element:MyProtocol {
}
这里的错误信息更加清晰:
Extension of type 'Array' with constraints cannot have an inheritance clause
如果元素也实现了协议,我怎样才能在数组上实现协议?最后一条错误消息似乎表明我是SOL。想法或建议?