我在iOS 6上的例子:
AFNetworking可以帮我解决这个问题吗?或者我应该尝试用NSOperations构建一些东西并自己运行循环?
如果我需要在这些请求之间传递上下文数据,例如第一个请求产生的事务id。我是否需要考虑有关线程可见性的任何考虑因素?
答案 0 :(得分:3)
AFNetworking可以做到这一点。我建议您使用AFHTTPRequestOperationManager(它本身使用NSOperation),而不是AFHTTPSessionManager。有很多方法可以使用AFHTTPSessionManager来完成它,但没有一种方法可以像操作一样优雅。
在幕后,这是你没有经理的事情:
您将使用请求序列化程序来创建NSMutableURLRequest(例如,[AFHTTPRequestSerializer -multipartFormRequestWithMethod:URLString:parameters:constructingBodyWithBlock:error:]
;也有类似的JSON请求序列化程序)。
获得网址请求后,请使用[AFHTTPRequestOperation -initWithRequest:]
进行操作。您还应该设置完成块。
最后,将您的操作添加到[AFHTTPRequestOperationManager manager].operationQueue
和start
。
既然您已经了解这基本上是如何协同工作的,那么这是一个更简单的方法:
AFHTTPRequestOperationManager
,如果您不喜欢默认requestSerializer
-POST:parameters:constructingBodyWithBlock:success:failure:]
- 您想要做的不是立即start
您的操作。start
第一个