swift 如何在协议和协议扩展中允许相同的方法?
How is swift allowing same method in protocol and protocol extension?
这是在序列协议中似乎重复的映射方法。苹果是怎么做到的?这背后的意图是什么?
public protocol Sequence {
public func map<T>(_ transform: (Self.Iterator.Element) throws -> T) rethrows -> [T]
}
extension Sequence {
public func map<T>(_ transform: (Self.Iterator.Element) throws -> T) rethrows -> [T]
}
协议序列需要一个map
函数并且(使用协议扩展)为它提供一个默认的实现 .这就是协议扩展 for.
这是在序列协议中似乎重复的映射方法。苹果是怎么做到的?这背后的意图是什么?
public protocol Sequence {
public func map<T>(_ transform: (Self.Iterator.Element) throws -> T) rethrows -> [T]
}
extension Sequence {
public func map<T>(_ transform: (Self.Iterator.Element) throws -> T) rethrows -> [T]
}
协议序列需要一个map
函数并且(使用协议扩展)为它提供一个默认的实现 .这就是协议扩展 for.