Swift单例

方式一 按OC 的写法

 

    static var instance : SharedNet?

    static var token : dispatch_once_t = 0

 

    class func sharedNetTools() -> SharedNet{

        dispatch_once(&token) { () -> Void in

            instance = SharedNet()

        }

        return instance!

    }

 

 

方式二: 简单高效的写法  在需要的时候创建

 private static let instance = SharedNet()

 

    class func sharedNetTools() ->SharedNet{

        return instance

    }

 

 

方式三: 创建时设置初始化参数

private static let instance: NetworkTools = {

        // baseURL 要以 `/` 结尾

        let urlString = "https://"

        let baseURL = NSURL(string: urlString)!

        

        let tools = NetworkTools(baseURL: baseURL)

        

        // 设置相应的默认反序列化格式

        tools.responseSerializer.acceptableContentTypes = NSSet(objects: "application/json", "text/json", "text/javascript", "text/plain") as! Set<String>

        

        return tools

    }()

posted @ 2015-06-26 00:28  风中一场梦  阅读(138)  评论(0编辑  收藏  举报