Swift中簡單的單例設計

2021-09-07 05:57:47 字數 558 閱讀 1401

import foundation

class test: nsobject

}

import foundation

let testone = test.shareinstance

let testtwo = test.shareinstance

if testone === testtwo else

輸出結果為: 單例設計成功

ps:test中包含乙個名為shareinstance的靜態常量屬性。用static申明屬性意味著該屬性只能存在乙份。

這裡要注意的是swift中的靜態屬性都會延遲載入,也就是說只有instance被使用時,才會初始化它。

還要注意的一點是,一旦instance被初始化了,那麼它就是乙個常量屬性,不會有第二次初始化的機會了。

另外:其中===在swift中代表「等價於」,比較的是兩個變數或者常量的引用位址,只能用於class的比較。

Swift中簡單的單例設計

import foundation class test nsobject import foundation let testone test.shareinstance let testtwo test.shareinstance if testone testtwo else 輸出結果為 單例...

swift簡單學習之單例

class caibi dispatch once static.onetaken return static.instance 在網上查詢了資料之後發現,呵呵 了 彩筆簡版 class caibi return sta.insta 精簡版 class theoneandonlykraken2 cl...

swift 中單例的寫法

在swift中單例的寫法和oc的有所不同,在書寫的時候又分很多種寫法,如果乙個.swift 檔案只建立了乙個類,可以用那種dispatch once的寫法,如果乙個.swift檔案中有很多類的存在,則會報錯,需要寫成下邊的寫法,這樣頁更加的簡單 在底部宣告靜態屬性 1static var resou...