[swift] Using a dispatch_once singleton model in Swift

First solution

let SocketManager = SocketManagerSingleton();

class SocketManagerSingleton {

}

Later in your code:

func someFunction() {        
    var socketManager = SocketManager        
}

Second solution

func SocketManager() -> SocketManagerSingleton {
    return _SocketManager
}
let _SocketManager = SocketManagerSingleton();

class SocketManagerSingleton {

}

And later in your code you will be able to keep braces for less confusion:

func someFunction() {        
    var socketManager = SocketManager()        
}