我有一个数组中的FB用户的相册,我想获取每个相册的图像,我必须调用下面的方法与albumId, 但我无法在For循环中调用此方法,我希望所有的专辑图片,问题是,循环执行,而无需调用“FBRequestConnection startWithGraphPath:graphPath”功能,所以我没有得到响应 问题是完成处理程序请告诉我如何调用方法与完成处理for循环呼叫完成处理方法在循环
arrAlbumIds=(11523252,11523245,11523278)
for (int i=0; i<arrAlbumIds.count; i++) {
NSString * graphPath=[NSString stringWithFormat:@"/%@/photos",[arrAlbumIds objectAtIndex:i]];
[FBRequestConnection startWithGraphPath:graphPath
parameters:nil
HTTPMethod:@"GET"
completionHandler:^(
FBRequestConnection *connection,
id result,
NSError *error
) {
/* handle the result */
NSLog(@"album images:%@",result);
FBGraphObject * response=[[FBGraphObject alloc]init];
response=result;
NSMutableDictionary * dictImagesData=[[NSMutableDictionary alloc]init];
dictImagesData=response;
NSMutableArray * arrImagesData=[[NSMutableArray alloc]init];
arrImagesData=[dictImagesData valueForKey:@"data"];
FBGraphObject * fbGraphImages=[[FBGraphObject alloc]init];
fbGraphImages=[arrImagesData valueForKey:@"images"];
NSDictionary * dictImages=[[NSDictionary alloc]init];
dictImages=fbGraphImages;
NSMutableArray * arrImages=[[NSMutableArray alloc]init];
arrImages=[arrImagesData valueForKey:@"images"];
//Get Url of Each Image
//self.arrFbAlbumImages=[[NSMutableArray alloc]init];
[arrFacebookAlbumThumbnail addObject:[arrImages valueForKey:@"source"]];
NSLog(@"arrFacebookAlbumThumbnail=%@",arrFacebookAlbumThumbnail);
}];
}
目前还不清楚你问什么下一个Facebook的呼叫。此代码中没有递归 – Paulw11
FBRequestConnetion startWithGrapPath: 此方法在for循环中被调用,但for循环执行不等待完成处理程序,这就是为什么不会调用完成处理程序方法 – user3673300
这只是迭代。这不是递归http://en.wikipedia.org/wiki/Recursion_(computer_science)该方法是异步的,因为网络操作需要时间。你的完成处理程序将在任务完成时被调用,但你可以期待'startWithGraphPath'立即返回 – Paulw11