2012-01-16 4 views
1

私は自分のアプリにFacebook機能を追加しています。私はFacebookが提供するSDKを使用しています。iOS SDKでの複数のリクエスト

私は[facebook authorize:nil]コールを使用してログインし、グラフAPIへの呼び出しを行うユーザの友人のリストを取得する:[facebook requestWithGraphPath:@"me/friends" andDelegate:self]

しかし、その後私は、ユーザの友人の詳細情報やプロフィール写真の一つ一つを取得したいと思います。今私はこの呼び出しを行うことをしています:(500人の友人の周りの)典型的なユーザーのために解析する1000件の以上の回答があるので

-(void)getDetailedInfoForFacebookUser:(NSArray *)aIDArray 
{ 
    for (NSString *aID in aIDArray) {    
     [facebook requestWithGraphPath:aID andDelegate:self]; 
     [facebook requestWithGraphPath:[NSString stringWithFormat:@"%@/picture",aID] andDelegate:self]; 
    } 
} 

しかし、応答時間が長いへの道です。このようなばかげた量のリクエストを作成しないこの情報をすべて取得する方法はありますか?

ありがとうございました!

+0

一度にすべての500枚の画像を取得する必要はありません...あなたがテーブルセルでそれらをロードする場合、テーブルのセルがcellForRowAtIndxPathか何かに見えるようになり、それらをasnchronoulsyロードします。それとも、あなたは何をしているのですか?画像で何をしていますか? –

+0

私はそれらをキャッシュに入れてより速い描画をし、必要なときにだけ更新することを望みます。 –

答えて

2

FQLを使用すると、一括でリクエストを行い、すべてを一度に解析できます。

-(void) startFriendsRequest 
{ 

    // Construct your FQL Query  
NSString* fql = [NSString stringWithFormat:@"SELECT uid,name,first_name,middle_name,last_name,pic_square FROM user WHERE uid IN (SELECT uid2 FROM friend WHERE uid1 = me())"]; 

// Create a params dictionary 
NSMutableDictionary* params = [NSMutableDictionary dictionaryWithObject:fql forKey:@"query"]; 

// Make the request 
[facebook requestWithMethodName:@"fql.query" andParams:params andHttpMethod:@"GET" andDelegate:self]; 

} 
0

あなただけ

https://graph.facebook.com/<User ID or login name>/picture 

オプションタイプ=広場から自分のイメージをロードする...ユーザーの画像を取得するための追加的なFacebookのグラフリクエストを作成する必要はありませんか?|小さい|ノーマル| large

関連する問題