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

方式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() { }
}
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容