服务器之家

服务器之家 > 正文

通过示例分析Swift单例模式

时间:2020-12-20 17:10     来源/作者:Swift教程网

三种Swift实现单例模式的方法:全局变量,内部变量,dispatch_once方式

1. 全局变量

?
1
2
3
4
5
6
7
8
private let _singleton = Singleton()
class Singleton: NSObject {
  class var sharedInstance: Singleton {
    get {
      return _singleton
    }
  }
}

2. 内部变量

?
1
2
3
4
5
6
7
8
9
10
class Singleton {
  class var sharedInstance: Singleton {
    get {
      struct SingletonStruct {
        static let singleton: Singleton = Singleton()
      }
       return SingletonStruct.singleton
    }
  }

3. dispatch_once方式

?
1
2
3
4
5
6
7
8
9
10
11
12
13
14
class Singleton {
  class var sharedInstance: Singleton {
    get {
      struct SingletonStruct {
        static var onceToken:dispatch_once_t = 0
        static var singleton: Singleton? = nil
      }
      dispatch_once(&SingletonStruct.onceToken, { () -> Void in
        SingletonStruct.singleton = Singleton()
      })
      return SingletonStruct.singleton!
    }
  }
}

以上所述就是本文的全部内容了,希望大家能够喜欢。

标签:

相关文章

热门资讯

2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全
2020微信伤感网名听哭了 让对方看到心疼的伤感网名大全 2019-12-26
Intellij idea2020永久破解,亲测可用!!!
Intellij idea2020永久破解,亲测可用!!! 2020-07-29
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享
歪歪漫画vip账号共享2020_yy漫画免费账号密码共享 2020-04-07
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址
电视剧《琉璃》全集在线观看 琉璃美人煞1-59集免费观看地址 2020-08-12
背刺什么意思 网络词语背刺是什么梗
背刺什么意思 网络词语背刺是什么梗 2020-05-22
返回顶部