iOS开发中的单例设计模式

2022-06-15 12:31:18 浏览数 (2)

一、Objective-C中的单例设计

五年前,我曾经在《iOS开发中的设计模式-单例模式》中介绍过Objective-C中的单例设计,可以看到,OC中的单例实现还是比较复杂的,需要考虑的场景也很多。

二、Swift中的单例设计

相比较OC,Swift中的单例设计要简单得多,如下:

代码语言:javascript复制
class SwiftSingleton {
  static let shared = SwiftSingleton();
  
  private init() {}
}

我们接下来分析一下:

static关键字表示shared变量是一个类型变量,其生命周期与应用程序同步。

let表示这是一个常量,一旦被赋值就不会更改,保证了单例对象的唯一性。

将SwiftSingleton的init初始化方法私有化,保证了该函数在SwiftSingleton外部不会被调用。也就是说,要想获取SwiftSingleton的实例对象,就必须要通过SwiftSingleton.shared来获取,直接通过SwiftSingleton()是获取不到的。

以上。

0 人点赞