如何约束数组和信号协议实现

时间:2016-01-18 18:06:18

标签: arrays swift protocols

您指示扩展使用以下语法实现协议:

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。想法或建议?

0 个答案:

没有答案