天天看點

iOS:GCD技術——僅僅執行一次和執行多次 dispatch_once和dispatch_apply

隻執行一次  (多用于單例模式)

dispatch_once(dispatch_once_t *predicate, dispatch_block_t block);

dispatch_once_t *predicate:一個全局的變量      dispatch_block_t block:block函數塊

多次執行

dispatch_apply(size_t iterations, dispatch_queue_t queue,void (^block)(size_t));

size_t iterations:執行次數      dispatch_queue_t queue:隊列      void (^block)(size_t):block函數塊

具體舉例如下:

1、隻執行一次時:

//自定義一個block函數塊

iOS:GCD技術——僅僅執行一次和執行多次 dispatch_once和dispatch_apply
iOS:GCD技術——僅僅執行一次和執行多次 dispatch_once和dispatch_apply

//執行dispatch_once函數

iOS:GCD技術——僅僅執行一次和執行多次 dispatch_once和dispatch_apply
iOS:GCD技術——僅僅執行一次和執行多次 dispatch_once和dispatch_apply

//運作結果:雖然執行兩次,隻有一個輸出

2、多次執行時:

//自定義一個block函數

iOS:GCD技術——僅僅執行一次和執行多次 dispatch_once和dispatch_apply
iOS:GCD技術——僅僅執行一次和執行多次 dispatch_once和dispatch_apply

//執行dispatch_apply

//運作結果如下:執行了5次,有5個輸出

程式猿神奇的手,每時每刻,這雙手都在改變着世界的互動方式!

本文轉自當天真遇到現實部落格園部落格,原文連結:http://www.cnblogs.com/XYQ-208910/p/4859761.html,如需轉載請自行聯系原作者

繼續閱讀