我想Array<Element>
用一个约束来扩展泛型类型,Element
这取决于另一个泛型类型,例如Element == Optional<Wrapped>
.
在不是泛型的情况下Element
,很容易:
extension Array where Element == String {
func merge() -> String { ... }
}
我尝试了以下,但编译器不接受它。
extension Array<Wrapped> where Element == Optional<Wrapped> {
func merge() -> Optional<Wrapped> { ... }
}
在这种情况下我应该使用什么语法?提前致谢!