/EasyGCD

💯A tiny library to make using GCD easier.

Primary LanguageSwiftMIT LicenseMIT

EasyGCD
Version Author Build Passing Swift
Platforms MIT
Cocoapods Carthage SPM

What's this?

EasyGCD is a tiny library to make using GCD easier. written in Swift.

Requirements

  • iOS 8.0+
  • macOS 10.10+
  • watchOS 2.0+
  • tvOS 9.0+
  • Xcode 8 with Swift 3

Installation

CocoaPods

pod 'EasyGCD'

Contribution

You are welcome to fork and submit pull requests.

License

EasyGCD is open-sourced software, licensed under the MIT license.

Usage

dispatch {
  // asynchronously on the main queue
}

main {
  // asynchronously on the main queue
}

global {
  // asynchronously on the global queue
}
import EasyGCD

func sync() {
    EasyGCD.sync(.global(qos: .background)) {
        print("sync @ background global queue")
    }
}

func async() {
    EasyGCD.async(EasyGCDQueue.global(.background)) {
        print("async @ background global queue")
    }
    EasyGCD.async {
        print("async @ main queue")
    }
}

func after() {
    EasyGCD.after(2.0) {
        print("2 seconds later")
    }
    EasyGCD.after(4, queue: .global(qos: .default)) {
        print("4 seconds later")
    }
    EasyGCD.after(DispatchTime.now() + 6, queue: .main) {
        print("6 seconds later")
    }
}

func once() {
    EasyGCD.once(token: "Once") {
        print("Once")
    }
}