美文网首页Swift
Swift5 泛型+协议 实际应用

Swift5 泛型+协议 实际应用

作者: 小奉不在乎 | 来源:发表于2021-08-23 22:33 被阅读0次
    struct FM<Base> {
        var base: Base
        init(_ base: Base) {
            self.base = base
        }
    }
    extension FM where Base == String {
        var nimberCount: Int {
            return 0
        }
        static func test() {}
    }
    
    //extension String {
    //    // 实例方法使用
    //    var fm: FM<String> { FM(self) }
    //    // 类调用
    //    static var fm: FM<String>.Type { FM<String>.self }
    //}
    //
    //
    //"1111".fm.nimberCount
    //String.fm.test()
    
    extension String: FMCompatible {}
    
    // 协议方式
    protocol FMCompatible {}
    extension FMCompatible {
        // 实例方法使用
        var fm: FM<Self> {
            set {}
            get { FM(self) }
        }
        // 类调用
        static var fm: FM<Self>.Type {
            set {}
            get { FM<Self>.self }
        }
    }
    
    "1111".fm.nimberCount
    String.fm.test()
    
    

    相关文章

      网友评论

        本文标题:Swift5 泛型+协议 实际应用

        本文链接:https://www.haomeiwen.com/subject/solriltx.html