func ~> (task: ()->Void, update: ()-> Void) { let priority = DISPATCH_QUEUE_PRIORITY_DEFAULT dispatch_async(dispatch_get_global_queue(priority, 0)) { // do some task task() dispatch_async(dispatch_get_main_queue()) { // update some UI update() } } }
Usage:
({ for i in 0..<100000{ print("count: \(i)") } })~>({ print("Finished counting") })
CREDITS:
* Background Threads
* Custom Operators in Swift
0 comments:
Post a Comment