标签:ar sp strong on amp as br 方法 har
假设一个ZLAnimal类。 我需要创建ta的时候保持单例
在oc中的做法
static dispatch_once_t onceToken; dispatch_once(&onceToken, ^{ _instance = [[ZLAnimal alloc] init]; });
在swift中的做法其实也类似,这里新建一个类,ZLAnimal类,提供快捷方法
class ZLAnimal: NSObject { class var sharedManager: ZLAnimal { struct Val{ static var onceToken: dispatch_once_t = 0 static var staticInstance : ZLAnimal? = nil } dispatch_once(&Val.onceToken, { () -> Void in Val.staticInstance = ZLAnimal() }) return Val.staticInstance! } }
let animal = ZLAnimal.sharedManager println(animal) let animal2 = ZLAnimal.sharedManager println(animal2)
打印的地址一样
<mySwift.ZLAnimal: 0x7feebb508c60>
<mySwift.ZLAnimal: 0x7feebb508c60>
private let sharedInstance = ZLAnimal() class ZLAnimal : NSObject { class var sharedManager : ZLAnimal { return sharedInstance; } }
标签:ar sp strong on amp as br 方法 har
原文地址:http://blog.csdn.net/meters_l/article/details/41963083