美文网首页Swift 4.0教程
Swift4.0 中实现单例的三种方式

Swift4.0 中实现单例的三种方式

作者: HarveyCC | 来源:发表于2018-04-19 13:59 被阅读77次

    方式1(静态常量)

    class MyClass {
    
        static let shared = MyClass()
        private init() { }
    }
    

    简洁的不要不要,我最喜欢使用此方式实现单例

    方式2(内部结构体)

    class MyClass {
    
        static var shared: MyClass {
    
            struct Static {
                static let sharedInstance = MyClass()
            }
    
            return Static.sharedInstance;
        }
    
        private init() { }
    }
    

    看起来是方式1的复杂版(变异版),在开发中我基本上不使用过此方式

    方式3(全局变量)

    fileprivate let sharedInstance = MyClass()
    class MyClass {
    
        static var shared: MyClass {
            return sharedInstance
        }
    
        fileprivate init() { }
    }
    

    相关文章

      网友评论

        本文标题:Swift4.0 中实现单例的三种方式

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