问题真的很简单。这会导致分割故障:
extension Sequence {
func parallelForEach<T, R>(_ f: @escaping (T) -> R, completion: @escaping ([R]) -> ()) where Iterator.Element == T {
}
}
显然我不知道如何编写协议扩展。有人帮忙吗?:)
错误是我以为我需要通用类型T。因为它只是迭代器。
extension Sequence {
func parallelForEach<T, R>(_ f: @escaping (Iterator.Element) -> R, completion: @escaping ([R]) -> ()) {
}
}
对任何可以解释的人表示敬意,为什么编译器不喜欢它。显然效率低下,但是为什么要错?