2013-04-26 3 views
1

Я пытаюсь получить мои друзья фотографии с FBConnect, Запрошенный URL является:Получение Facebook друзей профиля фотографий самый быстрый способ - IOS

pictureURL = [NSString stringWithFormat:@"https://graph.facebook.com/%@/picture?width=50&height=50", [data objectForKey:@"id"]]; 

И изображение, установленное здесь:

NSString *pictureUrl = [[NSString alloc] initWithFormat:@"%@", [self getProfileUrl:object]]; 
[friend setImage:pictureUrl]; 

метод набора:

NSData *pictureData = [NSData dataWithContentsOfURL:[NSURL URLWithString:pictureUrl]]; 
UIImage *image = [UIImage imageWithData:pictureData]; 
if (image != nil) 
    friendImage = image; 

Очень просто, Но для большого а mount of friends этот процесс длится tooooooo long, Есть ли способ получить изображения профиля быстрее или эффективнее этого?

ответ

10

Вы можете получить свой профайл в одном запросе вы используете для получения своих друзей, как это:

/me/friends?fields=name,picture.type(large) 

Вы получите ответ, подобный этому:

{ "data": [ 
    { 
     "name": "xxx", 
     "id": "42", 
     "picture": { 
     "data": { 
      "url": "https://fbcdn-profile-a.akamaihd.net/image1.jpg", 

      "is_silhouette": false 
     } 
     } 
    }, 
    { 
     "name": "xxx", 
     "id": "42", 
     "picture": { 
     "data": { 
      "url": "https://fbcdn-profile-a.akamaihd.net/image2.jpg", 

      "is_silhouette": false 
     } 
     } 
    }, 
... 

Так вы не» t нужно позвонить в Facebook для каждого из ваших друзей. Кроме того, я предлагаю вам загружать изображения асинхронно, и это great component может стать хорошей отправной точкой.

+0

Спасибо, я использовал SDWebImage, также из github, это сделало его намного проще – assafey

+0

@assafey Рад, что вы решили свою проблему. Если вы считаете, что мой ответ был полезен, подумайте о его принятии ;-) – andreagiavatto

+0

@assafey любая идея, почему мой массив данных пуст? Я получаю итоговый ответ с ключом total_count. Спасибо –