zoukankan      html  css  js  c++  java
  • swift单例

    class SwiftSingleton{
        class func shareInstance()->SwiftSingleton{
            struct YRSingleton{
                static var predicate:dispatch_once_t = 0
                static var instance:SwiftSingleton? = nil
            }
            dispatch_once(&YRSingleton.predicate,{
                    YRSingleton.instance=SwiftSingleton()
                }
            )
            return YRSingleton.instance!
        }
    }
    

    对于单例类,需要一个唯一的对外输出实例的shareInstance方法,而通过官方文档的查阅,发现对于class来说,静态方法可以用class func 来标示,静态变量使用class var来处理,但这里我借助了内部struct的静态变量来对唯一的instance进行存储。 调用时,可以使用

    var swiftInstance1=SwiftSingleton.shareInstance()
    var swiftInstance2=SwiftSingleton.shareInstance()
    if swiftInstance1===swiftInstance2{//“===”判别是否是同一个实例对象
        println("they are the same instance!")
    }
    
  • 相关阅读:
    Samba
    百度贴吧
    baidu.com关键字查询
    vim 删除每行开头结尾空格
    read line(逐行读取)
    pycharm 激活
    rsync 启动脚本
    收藏
    elk
    sql is null
  • 原文地址:https://www.cnblogs.com/hsxblog/p/5100084.html
Copyright © 2011-2022 走看看