在Swift开发中,嵌套GCD代码如以下示例非常常见
dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_BACKGROUND, 0)) { () -> Void in
// Do some background work...
dispatch_async(dispatch_get_main_queue()) { () -> Void in
// Display results on main queue...
}
}
Piper
可以消除嵌套,并让您在您喜欢的任何队列上链式调用任意操作
background {
// Do some background work...
}.main {
// Display results on main queue...
}.execute()
P Piper
通过 CocoaPods 提供。要安装,只需在Podfile中包含以下行
use_frameworks!
pod 'Piper'
确保在您的.swift文件顶部导入模块
import Piper
或者,克隆此仓库或将它作为zip下载并包含类在您项目中
Brad Hilton, [email protected]
Piper遵循MIT许可证。有关更多信息,请参阅LICENSE文件。