问题很简单。这会导致分段错误:
extension Sequence {
func parallelForEach<T, R>(_ f: @escaping (T) -> R, completion: @escaping ([R]) -> ()) where Iterator.Element == T {
}
}
显然我不知道如何编写协议扩展。有人帮忙吗? :)
答案 0 :(得分:0)
错误是我认为我需要通用类型T.因为它只是Iterator.Element,它很快就是Sequence协议中的一个类型。
extension Sequence {
func parallelForEach<T, R>(_ f: @escaping (Iterator.Element) -> R, completion: @escaping ([R]) -> ()) {
}
}
对任何能够解释为什么编译器不喜欢它的人都感到荣幸。这显然效率不高但为什么会出错?