Branch | Status |
---|---|
master | |
develop |
Dispatch is available through CocoaPods. To install it, simply add the following line to your Podfile:
pod 'Dispatch'
Carthage is a decentralized dependency manager that builds your dependencies and provides you with binary frameworks.
You can install Carthage with Homebrew using the following command:
$ brew update
$ brew install carthage
To integrate Dispatch into your Xcode project using Carthage, specify it in your Cartfile
:
github "Swiftification/Dispatch"
Run carthage update
to fetch the Dispatch library and drag into your Xcode project.
And then simply
import DispatchFramework
And your good to go!
- Download and drop
Dispatch.swift
anywhere you like in your project. - That's it.
Dispatch.async(dispatch_get_main_queue()) {
//Code to be run on the main thread
}
Dispatch.async(Queue.main) {
//Code to be run on the main thread
}
Dispatch.async {
//Code to be run on the main thread
}
Dispatch.async(Queue.main) {
//Code to be run on the main thread
}
let someCustomQueue = dispatch_queue_create("custom.queue.dispatch", DISPATCH_QUEUE_CONCURRENT)
Dispatch.sync(someCustomQueue) {
//Code to be synchronously on someCustomQueue
}
Dispatch.after(1.0, queue: Queue.main) {
//Code to be run on the main thread after 1 second
}
Dispatch.after(1.0) {
//Code to be run on the main thread after 1 second
}
let token : dispatch_once_t
Dispatch.once(&token) {
//Code to be run only once in App lifetime
}
let mainQueue = Queue.main
let customConcurrentQueue = Queue.custom("custom.concurrent.queue.dispatch", Queue.Atribute.concurrent)
let customSerialQueue = Queue.custom("custom.serial.queue.dispatch", Queue.Atribute.serial)
let priority = 0 // or you use one of the Global priorities (ex: Queue.Priority.UserInteractive)
let globalQueue = Queue.global(priority)
// For comodity there are helpers for getting the Global queues
let globalUserInteractiveQueue = Queue.globalUserInteractive
let globalUserInitiatedQueue = Queue.globalUserInitiated
let globalUtilityQueue = Queue.globalUtility
let globalBackgroundQueue = Queue.globalBackground
- Carthage compatible
- Chainable methods
- Travis CI
- Unit Tests
- More examples
- If you find a bug, open an issue.
- If you have a feature request, open an issue.
- If you want to contribute, submit a pull request.
-
João Mourato, [email protected]
-
Gabriel Peart
Dispatch is available under the MIT license. See the LICENSE file for more info.