大佬教程收集整理的这篇文章主要介绍了swift – Alamofire 3.0 ReactiveCocoa转换,大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
public final class Network: Networking { private let queue = dispatch_queue_create( "Beet.beetModel.Network.Queue",DISPATCH_QUEUE_seriaL) public init() { } public func requestJSON(url: String,parameters: [String : AnyObject]?) -> SignalProducer<AnyObject,NetworkError> { return SignalProducer { observer,disposable in let serializer = Alamofire.request.JSONResponseserializer() Alamofire.request(.GET,url,parameters: parameters) .response(queue: self.queue,responseserializer: serializer) { _,_,result in switch result { case .success(let value): sendNext(observer,value) sendCompleted(observer) case .Failure(_,let error): sendError(observer,NetworkError(error: error)) } } } } }
4.0 alpha 2
. Observer现在是它自己的类型,所以旧函数sendNext,sendError等不再是自由函数:
switch result { case .success(let value): observer.sendNext(value) observer.sendCompleted() case .Failure(_,let error): observer.sendError(NetworkError(error: error)) }
我要为您的解决方案添加的一件事是提供一次性使用,以便在需要时可以取消请求,以节省资源:
return SignalProducer { observer,disposable in let serializer = Alamofire.request.JSONResponseserializer() let request = Alamofire.request(.GET,parameters: parameters) request.response(queue: self.queue,responseserializer: serializer) { _,result in switch result { case .success(let value): observer.sendNext(value) observer.sendCompleted() case .Failure(_,let error): observer.sendError(NetworkError(error: error)) } } disposable.addDisposable(request.cancel) }
以上是大佬教程为你收集整理的swift – Alamofire 3.0 ReactiveCocoa转换全部内容,希望文章能够帮你解决swift – Alamofire 3.0 ReactiveCocoa转换所遇到的程序开发问题。
如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。
本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。