CocoaPods trunk is moving to be read-only. Read more on the blog, there are 19 months to go.

SwiftTimer 2.0

SwiftTimer 2.0

TestsTested
LangLanguage SwiftSwift
License MIT
ReleasedLast Release Nov 2017
SwiftSwift Version 4.0
SPMSupports SPM

Maintained by Liu Dong.



  • By
  • liudong

Simple and Elegant Timer

中文介绍:打造一个优雅的Timer

Compare with NSTimer

  • No retain cycle
  • Decouple with RunLoop
  • Support GCD queue
  • Support dynamically changing interval
  • Support closure syntax

Usage

single timer

let timer = SwiftTimer(interval: .seconds(2)) {
    print("fire")
}
timer.start()

repeatic timer

let timer = SwiftTimer.repeaticTimer(interval: .seconds(1)) {
    print("fire")
}
timer.start()

dynamically changing interval

let timer = SwiftTimer.repeaticTimer(interval: .seconds(5)) { timer in
    print("doSomething")
}
timer.start()  // print doSomething every 5 seconds

func speedUp(timer: SwiftTimer) {
    timer.rescheduleRepeating(interval: .seconds(1))
}
speedUp(timer) // print doSomething every 1 second 

throttle

SwiftTimer.throttle(interval: .seconds(0.5), identifier: "throttle") {
    search(inputText)
}

count down timer

let timer = SwiftCountDownTimer(interval: .fromSeconds(0.1), times: 10) { timer , leftTimes in
    label.text = "\(leftTimes)"
}
timer.start()

Installation