github

dalu93 / Each

  • воскресенье, 23 октября 2016 г. в 03:12:55
https://github.com/dalu93/Each

Swift
Elegant ⏱ interface for Swift apps



Each

Elegant interface for Swift apps

BuddyBuild

Each is a NSTimer bridge library written in Swift.

Features

  • Completely configurable timers
  • Support for time intervals in ms, seconds, minutes and hours
  • Fully extendable
  • More readable and simple to use in comparison with NSTimer object

Requirements

  • iOS 8.0+ / macOS 10.10+ / tvOS 9.0+ / watchOS 2.0+
  • Xcode 8.0+
  • Swift 3.0+

Installation

CocoaPods

CocoaPods is a dependency manager for Cocoa projects. You can install it with the following command:

$ gem install cocoapods

CocoaPods 1.1.0+ is required to build Each 1.0.0+.

To integrate Each into your Xcode project using CocoaPods, specify it in your Podfile:

source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '10.0'
use_frameworks!

target '<Your Target Name>' do
pod 'Each', '~> 1.0'
end

Then, run the following command:

$ pod install

Usage

Creating a new timer instance

let timer = Each(1).seconds     // Can be .milliseconds, .seconds, .minute, .hours  

Performing operations

timer.perform {
    // Do your operations
    // This closure has to return a Boolean value
    // Return false if you want to leave the timer active, otherwise
    // return true to invalidate it
}

Stopping the timer manually

timer.stop()    // This stops immediately the timer

Restarting the timer

You can restart the timer only after you stopped it. This method restarts the timer with the same perform closure.

timer.restart()

License

Each is released under the MIT license. See LICENSE for details.