通过示例分析Swift单例模式
三种Swift实现单例模式的方法:全局变量,内部变量,dispatch_once方式
1.全局变量
privatelet_singleton=Singleton()
classSingleton:NSObject{
classvarsharedInstance:Singleton{
get{
return_singleton
}
}
}
2.内部变量
classSingleton{
classvarsharedInstance:Singleton{
get{
structSingletonStruct{
staticletsingleton:Singleton=Singleton()
}
returnSingletonStruct.singleton
}
}
}
3.dispatch_once方式
classSingleton{
classvarsharedInstance:Singleton{
get{
structSingletonStruct{
staticvaronceToken:dispatch_once_t=0
staticvarsingleton:Singleton?=nil
}
dispatch_once(&SingletonStruct.onceToken,{()->Voidin
SingletonStruct.singleton=Singleton()
})
returnSingletonStruct.singleton!
}
}
}
以上所述就是本文的全部内容了,希望大家能够喜欢。