1、当写extension的时候 关联类型全局不能重复,否则会有影响
public final class YDSExtension<Base> {
public let base: Base
public init(_ base: Base) {
self.base = base
}
}
/**
A type that has YDSExtension.
*/
public protocol YDSExtensionCompatible {
associatedtype YDSExtensionCompatibleType //不能重名
var yds: YDSExtensionCompatibleType { get }
}
public extension YDSExtensionCompatible {
public var yds: YDSExtension<Self> {
return YDSExtension(self)
}
}
extension UIView: YDSExtensionCompatible { }