写法优点:
- 实现方式与系统的单例一致;
- 支持任意版本的;
- 这种写法是线程安全的。
import UIKit
class TimeCountdown: NSObject { class func shareInstance() -> TimeCountdown { struct singleton { static var predicate: dispatch_once_t = 0 static var instance: TimeCountdown? = nil } dispatch_once(&singleton.predicate,{ () -> Void in singleton.instance = TimeCountdown() }) return singleton.instance! } }