Suppose a zlanimal class. I need to create TA when keeping a singleton
The practice in OC
Static dispatch_once_t Oncetoken; Dispatch_once (&oncetoken, ^{ _instance = [[Zlanimal alloc] init]; });
The approach in Swift is similar in that it creates a new class, Zlanimal class, that provides a quick way
Class Zlanimal:nsobject { class var sharedmanager:zlanimal { struct val{ static var oncetoken:dispatch_onc e_t = 0 static var staticinstance:zlanimal? = Nil } dispatch_once (&val.oncetoken, {()-Void in
val.staticinstance = Zlanimal () }) return val.staticinstance! }}
Controller call
Let animal = Zlanimal.sharedmanager println (animal) let animal2 = Zlanimal.sharedmanager println ( ANIMAL2)
Print the same address
<mySwift.ZLAnimal:0x7feebb508c60>
<mySwift.ZLAnimal:0x7feebb508c60>
It can also be more streamlined
Private Let sharedinstance = Zlanimal () class Zlanimal:nsobject { class var sharedmanager:zlanimal { return sha redinstance;} }
Swift creates a singleton instance