服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Swift - 通过示例分析Swift单例模式

通过示例分析Swift单例模式

2020-12-20 17:10Swift教程网 Swift

这篇文章主要介绍了通过示例分析Swift单例模式的三种方法,分别是全局变量,内部变量,dispatch_once方式,有需要的小伙伴可以参考下。

三种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!
    }
  }
}

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

延伸 · 阅读

精彩推荐