第一种:

import Foundation

class SingletonA : NSObject {
    
    static let sharedInstance: SingletonA = SingletonA()
    
    private init() {
        print("AAA");
    }
    
}

 

第二种:

import Foundation

class SingletonB {
    
    class var sharedInstance: SingletonB {
        struct Static {
            static let instance: SingletonB = SingletonB()
        }
        return Static.instance
    }
    
    private init() {
        print("BBB");
    }
    
}

 

第三种:

import Foundation

class SingletonC {
    
    class var sharedInstance: SingletonC {
        struct Static {
            static var onceToken: dispatch_once_t = 0
            static var instance: SingletonC? = nil
        }
        dispatch_once(&Static.onceToken) {
            Static.instance = SingletonC()
        }
        return Static.instance!
    }
    
    private init() {
        print("CCC");
    }
    
}

 

相关文章:

  • 2021-12-25
  • 2022-12-23
  • 2021-05-31
  • 2022-12-23
  • 2022-12-23
  • 2021-11-22
  • 2021-12-26
  • 2021-05-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-12-21
  • 2022-12-23
  • 2021-09-30
  • 2022-12-23
相关资源
相似解决方案