等待多个getObjectsAtPath完成的最佳方法

时间:2013-07-04 16:00:42

标签: objective-c rest ios6 restkit

当我的用户登录时,我有多个:

 [[RKObjectManager sharedManager] 
     getObjectsAtPath:path
     parameters:nil<br/> success:
         ^(RKObjectRequestOperation *operation, RKMappingResult *mappingResult) {

现在,我想等待所有人完成显示下一页。我想过把它们放在另一个里面然后从块中返回直到它到达最后一个,但这似乎杀死了异步调用的目的。

我想过有一个字典,我把键设置为YES,一旦特定部分完成就没有NO,等待所有键设置为YES,但这似乎容易出现锁定/并发问题。

那么,有什么想法吗?!

谢谢!

1 个答案:

答案 0 :(得分:0)

词典路线应该有效,不应该有任何线程问题,因为成功&amp;错误回调都在主线程上运行。

如果你不关心哪些是完成的,哪些不是,你可以使用一个简单的计数器。

或者你可以使用operationQueue的{​​{1}}并检查每个成功块是否仍有任何任务要完成(尽管你需要考虑有效性,如果你使用{{1}并且队列中可能同时有多少其他东西。)