写法优点:
- 实现方式与系统的单例一致;
- 支持任意版本的;
- 这种写法是线程安全的。
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!
}
}