AsyncTimer

AsyncTimer is a precision asynchronous timer. You can also use it as a countdown timer


Keywords
async, asynchronous, background, carthage, cocoapods, ios, macos, swift, swift-framework, swift-package-manager, timer, tvos, watchos
License
MIT
Install
pod try AsyncTimer

Documentation

AsyncTimer

Build Status CocoaPods Version Language Swift3 CocoaPods Platform CocoaPods License Docs percent Pod method Compatible codebeat badge Codacy Badge

🌟 Features

  • Can work as a countdown timer
  • Can work as a periodic Timer
  • Can work as a scheduled timer
  • Working with user events (like: scrolling, tapping, ...)
  • Functionality (start, pause, resume, stop, restart)
  • Support for clousure (never more selectors)

Overview

Countdown timer Periodic timer scheduled timer

💻 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 (Decybel07), adrian071993@gmail.com

🔑 License

AsyncTimer is available under the MIT license. See the LICENSE file for more info.