Closed xdh725 closed 2 years ago
提个建议,pod的Extension的命名空间管理,避免与使用此pod的开发者项目中的Extension发生冲突。
来源开源库 'Tiercel' public struct TiercelWrapper<Base> { internal let base: Base internal init(_ base: Base) { self.base = base } } public protocol TiercelCompatible { } extension TiercelCompatible { public var tr: TiercelWrapper<Self> { get { TiercelWrapper(self) } } public static var tr: TiercelWrapper<Self>.Type { get { TiercelWrapper<Self>.self } } } extension Int64: TiercelCompatible {} extension TiercelWrapper where Base == Int64 { /// 返回下载速度的字符串,如:1MB/s /// /// - Returns: public func convertSpeedToString() -> String { let size = convertBytesToString() return [size, "s"].joined(separator: "/") } } 使用方法 let speed: Int64 = 0 speed.tr.convertSpeedToString()
提个建议,pod的Extension的命名空间管理,避免与使用此pod的开发者项目中的Extension发生冲突。