我有一個數組中的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