swift中创建一个单例

来源:互联网 发布:梦里花落知多少下载txt 编辑:程序博客网 时间:2024/05/29 18:21

在swift中创建单例,相比在Objective-C更加的便宜,首先创建一个继承自NSbject的MyINstance类,实现的代码如下:

//在swift中,类方法中是不允许定义静态变量的,所以定义一个静态变量,应该写在方法外面static var once_t: dispatch_once_t = 0static var instance: MyInstance?//用来获取单例对象的方法,class关键字相当于在Objective-C的类方法class func shareInstance() -> MyINstance {        dispatch_once(&once_t){() -> Void in        instance = MyInstance()        }        return instance!}

相比于以上的方法,在swift中还有一种更加简便的方法,这样写的理由是,在swift中,let关键字是线程安全的,用到的时候才会调用

static let instance: MyInstance = MyInstance()class func shareInstance() ->MyInstance {        return instance}

需要注意的是,在创建instance对象的时候,是可选类型,然而在返回对象的时候,又必须要是有值的,所以要在return对象的时候,加上’!’

0 0
原创粉丝点击