单例模式
单例模式有三个要点:
1.只有一个实例
2.构造函数要私有
3.构造过程线程安全
实现
class MyClass {
static let sharedInstance = MyClass()
var title = ""
private init() { }
}
swift的static构造过程中使用了dispatch_once方法,使得只会构造一次。
测试
import UIKit
class ViewController: UIViewController {
override func viewDidLoad() {
super.viewDidLoad()
let myClassA = MyClass.sharedInstance
myClassA.title = "A"
let myClassB = MyClass.sharedInstance
myClassB.title = "B"
print(myClassA.title) // B
print(myClassB.title) // B
}
}