SwiftyTimer is a set of extensions to make the NSTimer API cleaner, nicer to use, and at home with Swift's syntax.
Read Swifty APIs: NSTimer for more information about this project.
You can easily schedule repeating and non-repeating timers (repeats and delays) using NSTimer.every and NSTimer.after:
NSTimer.every(0.7.seconds){ statusItem.blink()}NSTimer.after(1.minute){println("Are you still here?")}SwiftyTimer uses closures instead of target/selector/userInfo.
You can specify time intervals with intuitive Ruby on Rails-like helpers:
1.second 2.5.seconds 5.seconds 10.minutes 1.hourYou can pass method references instead of closures:
NSTimer.every(30.seconds, align)If you want to make a timer object without scheduling, use new(after:) and new(every:):
lettimer=NSTimer.new(every:1.second){println(self.status)}(This should be defined as an initializer, but a bug in Swift prevents this)
The simplest way to install this library is to copy Src/SwiftyTimer.swift to your project. There's no step two!
You can also install this library using CocoaPods. Just add this line to your Podfile:
pod'SwiftyTimer'Then import library module like so:
import SwiftyTimerNote that this requires CocoaPods 0.36+, as well as iOS 8 or OS X 10.9+
If you have comments, complaints or ideas for improvements, feel free to open an issue or a pull request.
Radek Pietruszewski
SwiftyTimer is available under the MIT license. See the LICENSE file for more info.