我正在实现一个UITableView。它的数据是以JSON格式从Web服务中提取的。但我的问题是,每个自定义UITableViewCell都有一个字段,还有另一个Rest服务。这是我们在UITableView中异步加载图像时通常所做的事情。 我所谈论的领域是JSON数据,而不是图像。
因此,出于这个原因,我需要从cellForRowatIndexPath
方法调用其余服务,但我知道这是一个坏主意,我无法在重新加载UITableView之前全部下载它们。
我知道它有点奇怪,但是REST服务已经编码了。所以,除了为每个单元格提取数据之外别无他法。
简而言之,我必须从我的UITableView的每个单元调用一个rest服务来更新相应单元格的一个字段。
那么,在这种情况下,哪种方法应该是好的?
答案 0 :(得分:3)
因此,在您的情况下,您可以使用NSOperationQueue
和NSOperation
。
创建NSOperation
子类以执行HTTPRequest
。
对于cellForRowAtIndexPath:
的每个NSOperation
队列,请确保不要多次排队同一个请求。由于在滚动同一单元格时将重复调用cellForRowAtIndexPath,因此您应该处理队列并保持数据模型的状态。
最佳NSOperationQueue教程可用
How To Use NSOperations and NSOperationQueues by Ray Wenderlich