iOS Facebook SDK批量请求,单完成块

时间:2013-12-15 16:25:34

标签: ios facebook-graph-api

iOS Batch Request Page仅显示如何同时执行多个请求并分别处理其输出。但是,我想同时制作3个Facebook批量请求,然后一旦完成所有三个完成块就收到所有三个完成块的结果,所以我可以对它们进行聚合和排序。这可能吗?

非常感谢所有帮助,我总是接受答案!

1 个答案:

答案 0 :(得分:1)

这种方法对我有用。以下是如何请求用户信息以及使用您的应用的用户朋友的示例。这将返回到一个块,您可以解析结果并立即处理所有内容:

NSArray *requests = @[@{@"method":@"GET",
                        @"relative_url":@"me"},
                      @{@"method":@"GET",
                        @"relative_url":@"me/friends"}];
NSError *encodingError;
NSData *jsonData = [NSJSONSerialization dataWithJSONObject:requests options:0 error:&encodingError];
NSString *jsonString = [[NSString alloc] initWithData:jsonData encoding:NSUTF8StringEncoding];
NSDictionary *params = @{@"batch":jsonString};

[FBRequestConnection startWithGraphPath:@""
                             parameters:params
                             HTTPMethod:@"POST"
                      completionHandler:^(FBRequestConnection *connection, id result, NSError *error) {
                          if (error) {
                              NSLog([error description], nil);
                          }
                          else {
                              NSLog(@"Return Data: %@", [result description]);
                          }
                      }];