OEAsyncBlockOperation 1.0.6

OEAsyncBlockOperation 1.0.6

测试已测试
Lang语言 SwiftSwift
许可证 MIT
发布最后发布2018年9月
SPM支持 SPM

Or Elmaliah 维护。



  • 作者:
  • Or Elmaliah

OEAsyncBlockOperation

CocoaPods Swift 3.0 Twitter

一个简单的 NSOperation 子类,用于在 NSOperationQueue 上执行异步操作。在该操作完成之前不会调用 complete()。通常用于自动完成请求,当您希望一次只执行一个异步请求时,在退出队列之前等待异步操作完成。

要求

Swift 3(对于 Swift 2+,请使用 swift_2_2 分支)

安装

CocoaPods

CocoaPods 是 Cocoa 项目的依赖管理器。您可以使用以下命令安装它

$ gem install cocoapods

要使用 CocoaPods 将 OEAsyncBlockOperation 集成到您的 Xcode 项目中,请在您的 Podfile 中指定它

source 'https://github.com/CocoaPods/Specs.git'
use_frameworks!

pod 'OEAsyncBlockOperation'

然后,运行以下命令

$ pod install

人工

只需将 AsyncBlockOperation.swift 文件拖放到您的 xcode 项目中

用法

创建操作

self.operationQueue = OperationQueue()
self.operationQueue.maxConcurrentOperationCount = 1
...

let operation = AsyncBlockOperation.operation(withIdentifier: kBlockOperationIdentifer, queue: self.operationQueue)
weak var weakOperation = operation
operation.operationBlock = {
  	RequestsManager.defaultManager.performAsyncRequestWithCompletionHandler {
    	weakOperation?.complete()
  	}
}

operation.cancelBlock = {
	// your cancel code here
}

self.operationQueue.addOperation(operation)
...

取消所有操作

AsyncBlockOperation.cancelAllAsyncBlockOperation(onQueue: self.operationQueue, withIdentifier: kBlockOperationIdentifer)
AsyncBlockOperation.cancelAllAsyncBlockOperation(onQueue: self.operationQueue)