2013-03-24 70 views
0

我是AFNetworking的新手,我有兴趣使用它来处理几十个JSON请求(例如,使用响应JSON的Web服务API)我的应用程序,但我有一些麻烦理解我应该如何做到这一点。使用AFNetworking排队许多JSON请求并保存它们的响应

任何人都可以提供一些关于如何去完成这一点的见解?就像我说的,我是图书馆的新手,所以如果你用代码解释的话,我们将非常感谢你的解释。

对于更具体的例子来什么,我试图做的,这里的清除读取API我使用,让您通过URL作为URL参数,并返回一个JSON响应的(API提取物来自URL的文章,消除了其他的膨胀)。

实例网址:http://api.thequeue.org/v1/clear?url=http://blogs.balsamiq.com/product/2012/02/27/uxstackexchange/&format=json

我将采取几十URL和运行它们全部通过该服务,并希望保存结果。

我之前是在for循环中使用NSURLConnection来做这件事,发射了几十个NSURLConnections,这导致我的数据在最后被彻底搞砸了,超时以及一次都没有这么多事。

我知道一次只做几个会更好,AFNetworking对于这类问题似乎很完美,但我真的很困惑我将如何使用它/子类它或其他任何东西。

回答

1

我推荐从Getting Started guide开始。

实际上并没有太多,为每个要调用的API构建一个AFJSONRequestOperation,并且在成功回调中,适当地处理反序列化的JSON。如果您有大量的调用请求,请使用AFHTTPClient a)简单地构建这些操作的一些重复性工作,以及b)使用客户端的操作队列对它们进行批处理。然后,您可以使用queue's setMaxConcurrentOperationCount: method一次性节制飞行中的请求数量。

+0

在文档中,它建议子类化AFHTTPClient,这是必要的吗?我会在NSOperationQueue中使用AFHTTPClient吗? – 2013-03-25 01:55:48

+1

AFHTTPClient有一个它管理的操作队列。并不是必须对它进行子类化(你可以实例化它),但它可能会有所帮助:你的子类可以提供专门为你的API构建请求操作的方法,以及类似的东西。 – 2013-03-25 03:04:50