見如下代碼:
首先聲明了2個靜态(全局)變量。無論你将它們放在方法内部還是外部都沒什麼關系。它們都被初始化為0(nil)。
sharedinstance存儲單例類執行個體的引用,而oncetoken是一個有趣的變量,實際它的資料類型是long。
dispatch_one函數僅僅運作block一次!傳入一個指向oncetoken的變量。僅僅當oncetoken為0時block才會運作,而當dispatch_once運作過block之後,會将oncetoken的值改為非零。
見如下代碼:
首先聲明了2個靜态(全局)變量。無論你将它們放在方法内部還是外部都沒什麼關系。它們都被初始化為0(nil)。
sharedinstance存儲單例類執行個體的引用,而oncetoken是一個有趣的變量,實際它的資料類型是long。
dispatch_one函數僅僅運作block一次!傳入一個指向oncetoken的變量。僅僅當oncetoken為0時block才會運作,而當dispatch_once運作過block之後,會将oncetoken的值改為非零。