Swift 单例

单例:

单例是一种设计模式,算是最简单的一种设计模式,也是最常用到的设计技巧。应用这个模式的类必须保证只有一个实例对象存在,比如说一些配置信息,或者是主控类等等。那在Swift中单例的写法也比在OC中简化了许多。

在OC 中单例要保持唯一性(在生命周期中只存在一个实例对象。),需要满足 dispath_once 规则。而在Swift中,全局变量和结构体、枚举体的静态成员是默认支持 dispath_once 特性的。这样Swift的单例就比OC中的简单很多。

写法

Swift中单例的写法有两种:

  • 全局变量的方式
let sharedManger = Manager(user: "wwww")
class Manager {
    let userName: String
    init(user: String) {
        self.userName = user
    }
}

实例化成全局变量,可供全局调用。

  • 静态属性及私有化构造方法的方式
class Manager {
    let userName: String
    
    static let instance = Manager.init(user: "www")
    
    private init(user: String) {
        self.userName = user
    }
    
    class func shated() -> Manager {
        return instance
    }
}

直接调用类方法进行引用

Manager.shated()

以上就是关于Swift中的单例的介绍。记录一下。

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 虽然入坑时曾经用Swift2.0写过4个多月代码,后来换公司项目又用OC了,现在打算用Swift写代码了. OC...
    plantseeds阅读 10,001评论 0 5
  • Swift单例模式 单例模式 单例模式的作用是解决“应用中只有一个实例”的一类问题。在Cocoa Touch框架中...
    spicyShrimp阅读 1,337评论 0 4
  • 1.单例是一个在 Cocoa 中很常用的模式了。对于一些希望能在全局方便访问的实例,或者在 app 的生命周期中只...
    IIronMan阅读 599评论 8 3
  • 单例是⼀个在 Cocoa 中很常⽤的模式了。对于⼀些希望能在全局⽅便访问的实例,或者在 app 的⽣命周期中只应该...
    ikonan阅读 567评论 0 0
  • 领了毕业证书,自己一个人把一百五十斤的行李从六楼拖下来寄,然后就立马回家了,一直到坐在动车上,我的心情跟以往放寒暑...
    龚夫人阅读 2,557评论 0 2