异步操作 1.1.0

异步操作 1.1.0

测试已测试
语言语言 SwiftSwift
版权 BSD
发布最后发布2018年3月
SwiftSwift版本4.0
SPM支持SPM

Vincent Esche维护。



  • Vincent Esche

异步操作

异步操作旨在简化在使用NSOperation进行异步任务时经常遇到的问题。

示例使用

假设你有一个耗时任务,你希望它在后台线程上执行。
异步操作为你提供了两种在异步的NSOperation中封装任务的方法

使用AsyncOperation

class ExampleOperation : AsyncOperation {
    override func main() {
        self.state = .Executing
        dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
            // perform time-consuming task
            self.state = .Finished
        }
    }
}

使用AsyncBlockOperation

AsyncBlockOperation() { operation in
    operation.state = .Executing
    dispatch_async(dispatch_get_global_queue(DISPATCH_QUEUE_PRIORITY_DEFAULT, 0)) {
        // perform time-consuming task
        operation.state = .Finished
    }
}

演示

异步操作包含一个演示应用程序。

安装

只需将"AsyncOperation/Classes/..."中的文件复制到您的项目中。

或者,您可以使用Carthage(github 'regexident/AsyncOperation')或使用CocoaPodspod 'AsyncOperation')将异步操作安装到您的项目中

Swift

异步操作完全使用Swift实现。

依赖关系

无。

要求

OS X 10.9+ / iOS 7.0+

创建者

Vincent Esche (@regexident

许可

Sandbox在修改后的BSD-3条款许可下可用,并具有附加的归属要求。有关更多信息,请参阅LICENSE文件。