Swift 单例模式(Singleton)的实现

2018-07-19  本文已影响0人  雅风丶

前言

在看了其他语言的单例实现后,于是去查了一下swift单例的实现,发现swift单例实现及其的简单,简单到我对它正确性产生怀疑。我们首先简单了解一下单例模式。

单例规则

单例模式为什么存在

优点:

单例对象保证了只有一个实例的存在,这样有利于我们协调系统整体的行为。比如在某个服务器程序中,该服务器的配置信息存放在一个文件中,这些配置数据由一个单例对象统一读取,然后服务进程中的其他对象再通过这个单例对象获取这些配置信息。这种方式简化了在复杂环境下的配置管理。 另一方面,全局单一对象也减少了不必要的对象创建和销毁动作提高了效率。

缺点:

单例的实现

在网上看了很多,目前最简单也是最有效的一种

全局变量方法(“单行单例”方法)

class SingletonOne {
    static let sharedInstance = SingletonOne()
    private init() {} 
    //切记私有化初始化方法,防止外部通过init直接创建实例。
}

当有继承其他类时,用override来重写init方法

可以通过下面的方式在获得实例前做些设置工作。

class SingletonTwo {
    class var sharedInstance: SingletonTwo {
    let instance = SingletonTwo()
    //setup code
    //...
        return instance
    }
}

以上就是我对swift单例的一些总结,关于正确性。这篇文章已经给出
http://www.cocoachina.com/swift/20151207/14584.html
参考资料
http://www.cocoachina.com/swift/20151207/14584.html
https://www.jb51.net/article/127687.htm

上一篇下一篇

猜你喜欢

热点阅读