Swift3.0中GCD定時器的使用

      swift3.0語法變化之後,好多東西用法都發生了變化,最近要用到定時器,網上搜集了好多寫法,最後才搞好,現分享一下,方便以後使用,也希望能幫助別人

首先,創建定時器,和之前的有所不同,代碼如下:

 var timer =  DispatchSource.makeTimerSource(flags: [], queue:DispatchQueue.main),即在主線程中創建一個定時器,該種定時器是個DispatchSourceTimer
類型的對象;這樣我們就創建了一個基本的定時器,然後設定事件,

 timer.scheduleRepeating(deadline: .now(), interval: .seconds(1) ,leeway:.milliseconds(40))

//該行代碼設定開始的時間,間隔的時間,以及剩餘持續的時間 40可以設定成你想要的數額,設定即可

        timer.setEventHandler {
 
          //該處設定要執行的事件,比如說要定時器控制的界面的刷新等等,記住,要用主線程刷新,不然會有延遲
                
            }

另外急個函數,看準時機使用,

timer.suspend()//定時器繼續執行;

timer.cancel()//定時器取消,會銷燬;

timer.activate()/定時器開始激活

timer.resume()定時器繼續

如上的配合使用,定時器就可以使用了

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章