A precision asynchronous timer with swift
AsyncTimer
AsyncTimer is a precision asynchronous timer. You can also use it as a countdown timer
? Features
- [x] Can work as a countdown timer
- [x] Can work as a periodic Timer
- [x] Can work as a scheduled timer
- [x] Working with user events (like: scrolling, tapping, ...)
- [x] Functionality (start, pause, resume, stop, restart)
- [x] Support for clousure (never more selectors)
Overview
? Demo
pod try AsyncTimer
⚠️ Requirements
- iOS 9.0+ | macOS 10.10+ | tvOS 9.0+ | watchOS 2.0+
- Swift 3.0+
? Communication
- If you found a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request.
? Installation
CocoaPods
pod 'AsyncTimer', '~> 2.2'
Carthage
github "Decybel07/AsyncTimer", ~> 2.2
Swift Package Manager
.Package(url: "https://github.com/Decybel07/AsyncTimer.git", majorVersion: 2)
? Usage
Import AsyncTimer at the top of each Swift file that will use framework.
import AsyncTimer
Countdown Timer
Counts down from 25 to 0 every 100 ms
AsyncTimer(
interval: .milliseconds(100),
times: 25,
block: { value in
print(value)
},
completion: { value in
print("finished")
}
)
Periodic Timer
Update every 100 ms
AsyncTimer(interval: .milliseconds(100), repeats: true) {
print("updated")
}
Scheduled Timer
Do something after 2 seconds
AsyncTimer(interval: .seconds(2)) {
print("something to do")
}
? Author
Adrian Bobrowski