TestsTested | ✓ |
LangLanguage | SwiftSwift |
License | MIT |
ReleasedLast Release | Dec 2015 |
SPMSupports SPM | ✗ |
Maintained by Khoi.Geeky.
A Swift Wrapper for Grand Central Dispatch (GCD) Framework that supports method chaining.
Tired of this?
dispatch_async(dispatch_get_global_queue(QOS_CLASS_BACKGROUND, 0)) { () -> Void in
for index in 1...UInt64.max{
print(index)
}
dispatch_async(dispatch_get_main_queue(), { () -> Void in
print("Back to main thread")
})
}
With RunKit
Run.background {
for index in 1...UInt64.max{
print(index)
}
}.main {
print("Back to main thread")
}
Supported Queues:
Run.main {}
Run.userInteractive {}
Run.userInitiated {}
Run.utility {}
Run.background {}
Queues Chaining:
Run.main {
print("main queue")
}.background {
print("background queue")
}.userInitiated {
print("userInitiated queue")
}.main {
print("Back to main thread")
}
Store blocks reference for chaining
let longRunningBlock = Run.background{
for index in 1...UInt64.max{
print(index)
}
}
longRunningBlock.main{
print("Back to main thread")
}
You can also cancel a running process
longRunningBlock.cancel()
Or wait for it to finish
longRunningBlock.wait()
print("Continue..")
RunKit is released under the MIT license. See LICENSE for details.