单例,作为日常中出场率较高的设计模式,还是值得单独一篇文章来列举下常见的创建方式,Objective-C 下,一般是这么创建单例。
OC单例创建
|
|
在使用单例时我们需要知道:
单例是全局唯一,在程序的生命周期中不管在何处使用都应该是同一个对象。
确保单例的唯一性,需要是初始化方法私有化,需要我们重载类的所有初始化方法。
也因为第一条,在生命周期中只有唯一一个,我们需要确保单例的线程安全。
先来一段比较丑的创建方式
|
|
这有点违背了swift的简洁风格了吧~~pass(反正不推荐)
结构体创建方式
|
|
一行创建单例 (推荐)
|
|
不要忘了重载类的初始化方法