如何将Swift 2中的Singleton类转换为Swift 3?
问题描述:
我想将此语法转换为swift 3,但由于我对swift非常陌生,无法理解语法。我需要创建一个Almofire管理器的单例类并创建它的单例实例。 这里是我的旧代码任何人都可以提供支持swift 3的代码吗?如何将Swift 2中的Singleton类转换为Swift 3?
class AlamofireManager: NSObject
{
private static var __once:() = {
Static.instance = AlamofireManager()
}()
var req:Request?
var baseUrl:String!
var user:String?
var password:String?
var manager:SessionManager!
/*
*Singleton method
*/
class var sharedInstance: AlamofireManager {
struct Static {
static var onceToken: Int = 0
static var instance: AlamofireManager? = nil
}
_ = AlamofireManager.__once
return Static.instance!
}
override init() {
self.manager = Alamofire.SessionManager()
}
}
答
使用共享实例
final类SingletonClass {
// Can't init is singleton
private init() { }
// Shared Instance
static let shared = SingletonClass()
// Local Variable
var yourArray : [String] = []
}
初始化,如: - SingletonClass.sharedinstance.yourArray。 =初始化
使用像这样的共享实例 –
这个*是*重复的,并且有> 80个“Swift 3 singleton”的问答。 –