Swift3.0 Timer

Swift2.2到Swift3.0不知道幾家歡喜幾家愁,對(duì)于項(xiàng)目是純Swift的我,反正是想艸阿婆他娘的。

2016年9月18號(hào)更新到了Xcode8,第二天將項(xiàng)目遷移到2.3。咦。。。好像沒有改多少東西嘛!發(fā)了一個(gè)版本后,老大繼續(xù)遷移到Swift3.0,我艸,什么玩意,999+個(gè)紅。搞啊搞啊搞。。。

好了,廢話不多說了,重點(diǎn):

swift 2.3 Timer
private var timer = dispatch_source_t?()

func setTheTimer() {
        timer = dispatch_source_create(DISPATCH_SOURCE_TYPE_TIMER, 0, 0, dispatch_get_main_queue())
        let start = dispatch_time(DISPATCH_TIME_NOW, Int64(pageStepTime * NSEC_PER_SEC))
        let interval = pageStepTime * NSEC_PER_SEC
        dispatch_source_set_timer(timer!, start, interval, 0)
        dispatch_source_set_event_handler(timer!) {
            self.yourMethod()
        }
        // 啟動(dòng)定時(shí)器
        dispatch_resume(timer!)
    }

private func deinitTimer() {
        if let time = self.timer {
            dispatch_source_cancel(time)
            timer = nil
        }
    }

遷移器自動(dòng)轉(zhuǎn)換的版本就不貼出來了,浪費(fèi)您寶貴的時(shí)間。

swift 3.0 Timer
private var timer: DispatchSourceTimer?
var pageStepTime: DispatchTimeInterval = .seconds(5)

// deadline 結(jié)束時(shí)間
// interval 時(shí)間間隔
// leeway  時(shí)間精度
func setTheTimer() {
        timer = DispatchSource.makeTimerSource(queue: .main)
        timer?.scheduleRepeating(deadline: .now() + pageStepTime, interval: pageStepTime)
        timer?.setEventHandler {
            self.yourMethod()
        }
        // 啟動(dòng)定時(shí)器
        timer?.resume()
    }

func deinitTimer() {
        if let time = self.timer {
            time.cancel()
            timer = nil
        }
    }

反正各種谷歌,各種百度,就找到這一個(gè)
TimerTest_Swift3

SwiftTimer 手機(jī)尾號(hào)為1193的朋友給的,非常感謝
Each 定時(shí)器

最后附上自己[swift2.3] []版本和[swift3.0] []版本多線程的學(xué)習(xí)代碼
[swift2.3]: https://github.com/huangboju/Moots/tree/master/Thread
[swift3.0]: https://github.com/huangboju/Moots/tree/master/Thread

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 因?yàn)橐Y(jié)局swift3.0中引用snapKit的問題,看到一篇介紹Xcode8,swift3變化的文章,覺得很詳細(xì)...
    uniapp閱讀 4,872評(píng)論 0 12
  • 寫在前面 收到一些小伙伴的來信,覺得可能下邊沒有表達(dá)清楚,先把大家關(guān)心的要點(diǎn)在此進(jìn)行總結(jié),有興趣的可以看看下邊的研...
    光無影閱讀 11,161評(píng)論 40 61
  • 不知道從什么時(shí)候開始,內(nèi)心脫離團(tuán)體。 一起做事,但是心卻不在一處,就像上周韓國(guó)藝術(shù)家分享的身體空間藝術(shù)那樣,政治會(huì)...
    林大怡葩閱讀 300評(píng)論 0 1
  • 1. 媽媽忽然說要給我扎辮子。 在耳旁兩側(cè)分別扎了麻花辮,后面再綁了個(gè)馬尾。 媽媽綁完以后自己說:看起來...
    施與樹閱讀 781評(píng)論 0 0
  • 有人說,只有親人或親近朋友的離世才能讓你體會(huì)到切膚之痛,否則別人的離開你都不能感同身受。我深以為然。 汶川地震我也...
    狗大魚閱讀 535評(píng)論 0 0

友情鏈接更多精彩內(nèi)容