Swiftはシングルトンを作成します

Objective-C は、GCD でdispatch_once_t を使用して、内部のコードが 1 回だけ呼び出されるようにし、それによってシングルトンのスレッドの安全性を確保します。

ただし、Swift では本来の Dispatch Once メソッドが廃止されているため、Once を使用してシングルトンを作成することはできません。

struct を使用して型変数を保存し、let を使用してスレッドの安全性を確保できます。

(1) オプション 1

class Manager {
    class var sharedManager: Manager {
        struct Static {
            static let sharedInstance: Manager = Manager()
        }
        return Static.sharedInstance
    }
}

(2) オプション 2

class Manager {
    class var sharedManager: Manager {
        return sharedInstance
    }
}

private let sharedInstance = Manager()

(3) オプション 3

class Manager {
    static let sharedInstance = Manager()
}

おすすめ

転載: blog.csdn.net/watson2017/article/details/132578891