Swift單例的幾種方式

單例的三種方式

1.Class constant
static let sharedInstance = Weatcher()
2.dispatch_once

   class var sharedInstance : Weatcher {
        struct Static {
            static var onceToken : dispatch_once_t = 0
            static var instance : Weatcher? = nil
        }
        dispatch_once(&Static.onceToken) {
            Static.instance = Weatcher()
        }
        return Static.instance!
    }

3.Nested struct

    class var sharedInstance: Weatcher {
        struct Static {
            static let instance: Weatcher = Weatcher()
        }
        return Static.instance
    }```
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。

推薦閱讀更多精彩內容

  • 往事回憶之ObjC單例Swift是Objective-C的一種自然演變,它用如下的方式實現單例: 在這個現成方案中...
    王小賓閱讀 3,201評論 0 5
  • 在使用swift編程語言進行iOS應用開發的時候,我們常常借助單例來進行狀態管理,但由于實現單例的方法很多,問題就...
    突然自我閱讀 650評論 0 0
  • 問題 最近排查一個crash 問題,讀了一下crash Log以后,發現堆棧報的錯誤信息非常奇怪。相似在對一個單例...
    還是那個西海閱讀 10,105評論 0 9
  • 在之前的帖子里聊過狀態管理有多痛苦,有時這是不可避免的。一個狀態管理的例子大家都很熟悉,那就是單例。使用Swift...
    Tank丶Farmer閱讀 6,413評論 0 5
  • 盡管在我之前的博文里我就寫過關于管理狀態的那些坑,但是有時候我們就是無法避免它們。其中一類管理狀態的方式我們耳熟能...
    一黑閱讀 312評論 0 1