从UITableViewCell调用Rest服务

时间:2014-01-05 05:47:27

标签: objective-c uitableview httprequest

我正在实现一个UITableView。它的数据是以JSON格式从Web服务中提取的。但我的问题是,每个自定义UITableViewCell都有一个字段,还有另一个Rest服务。这是我们在UITableView中异步加载图像时通常所做的事情。 我所谈论的领域是JSON数据,而不是图像。

因此,出于这个原因,我需要从cellForRowatIndexPath方法调用其余服务,但我知道这是一个坏主意,我无法在重新加载UITableView之前全部下载它们。 我知道它有点奇怪,但是REST服务已经编码了。所以,除了为每个单元格提取数据之外别无他法。

简而言之,我必须从我的UITableView的每个单元调用一个rest服务来更新相应单元格的一个字段。

那么,在这种情况下,哪种方法应该是好的?

1 个答案:

答案 0 :(得分:3)

因此,在您的情况下,您可以使用NSOperationQueueNSOperation

创建NSOperation子类以执行HTTPRequest

对于cellForRowAtIndexPath:的每个NSOperation队列,请确保不要多次排队同一个请求。由于在滚动同一单元格时将重复调用cellForRowAtIndexPath,因此您应该处理队列并保持数据模型的状态。

最佳NSOperationQueue教程可用

How To Use NSOperations and NSOperationQueues by Ray Wenderlich

Working with the NSOperationQueue Class