CocoaPods trunk is moving to be read-only. Read more on the blog, there are 14 months to go.
| TestsTested | ✗ |
| LangLanguage | SwiftSwift |
| License | BSD |
| ReleasedLast Release | Mar 2018 |
| SwiftSwift Version | 4.0 |
| SPMSupports SPM | ✗ |
Maintained by Vincent Esche.
AsyncOperation aims to ease the pain commonly encountered when having to subclass NSOperation for async tasks.
Let’s assume you have a time-consuming task that you’d rather perform on a background-thread.
AsyncOperation provides you with two options for wrapping said task in an asynchronous 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 contains a demo app.
Just copy the files in "AsyncOperation/Classes/..." into your project.
Alternatively you can install AsyncOperation into your project with Carthage (github 'regexident/AsyncOperation') or with CocoaPods (pod 'AsyncOperation')
AsyncOperation is implemented in 100% Swift.
None.
OS X 10.9+ / iOS 7.0+
Vincent Esche (@regexident)
Sandbox is available under a modified BSD-3 clause license with the additional requirement of attribution. See the LICENSE file for more info.