Swift 单例模式实现与应用

单例模式是一种常见的设计模式,用于确保一个类只有一个实例,并提供一个全局访问点。在 Swift 中实现单例模式非常简单,以下是两种常用的方法:

1. 使用静态属性和私有初始化器:

class Singleton {
    static let shared = Singleton()

    private init() {}

    // 其他方法和属性...
}

这种方法通过声明一个静态常量 shared 来存储单例实例,并使用私有初始化器 private init() 阻止外部实例化该类。

2. 使用全局变量和延迟初始化:

let sharedSingleton = Singleton()

class Singleton {
    // 其他方法和属性...
}

这种方法使用全局变量 sharedSingleton 来存储单例实例,并利用 Swift 的延迟初始化机制确保只创建一次实例。

实例:

假设我们需要一个网络请求管理器,确保只有一个实例来处理所有网络请求:

class NetworkManager {
    static let shared = NetworkManager()

    private init() {}

    func sendRequest(url: URL) {
        // 处理网络请求...
    }
}

使用时,我们可以通过 NetworkManager.shared 来访问单例实例:

NetworkManager.shared.sendRequest(url: someURL)

Swift 单例模式易于实现,可以有效地管理应用程序中的全局资源。选择哪种方法取决于具体的需求,但都需要确保单例实例的唯一性和全局可访问性。

pdf 文件大小:26.33KB