2012-06-04 23 views
5

Aşağıdaki basit isteği Facebook'a yapıyorum. Amacım tüm bir kullanıcının fotoğraf albümleri adlarını kapmak için geçerli: SonraiOS için Facebook Fotoğraf Albümleri nasıl alınır?

[[AppDelegate sharedDelegate].facebook requestWithGraphPath:@"me/albums" andDelegate:[AppDelegate sharedDelegate]]; 

, böyle gibi sunucudan bir JSON yanıt almak:

data =  (
      { 
     "can_upload" = 1; 
     count = 4; 
     "cover_photo" = 321491374598618; 
     "created_time" = "2012-06-04T21:46:23+0000"; 
     from =    { 
      id = 100002132746588; 
      name = "Owner...."; 
     }; 
     id = 321491371265285; 
     link = "http://www.facebook.com/album.php?fbid=321491371265285&id=100002132746588&aid=73680"; 
     name = "Photos"; 
     privacy = custom; 
     type = normal; 
     "updated_time" = "2012-06-04T22:08:39+0000"; 
    }, 
      { 
     "can_upload" = 0; 
     count = 1; 
     "cover_photo" = 318401854907570; 
     "created_time" = "2012-05-31T00:00:35+0000"; 
     description = "Which Friend Stalks You the Most?"; 
     from =    { 
      id = 100002132746588; 
      name = "Owner...."; 
     }; 
     id = 318401848240904; 
     link = "http://www.facebook.com/album.php?fbid=318401848240904&id=100002132746588&aid=73163"; 
     name = "Which Friend Stalks You the Most?"; 
     privacy = friends; 
     type = normal; 
     "updated_time" = "2012-05-31T00:00:36+0000"; 
    }, 

Ve böyle devam eder.

NSLog(@"%@", [result objectForKey:@"name"]); 

Ben null olsun: Birlikte verileri ayrıştırmak çalıştığınızda Sorun vardır. Bunun gerçekleştiğini varsayardım çünkü NSDictionary verilerin geri döndüğü, hangi name girişinin konsantre olduğunu bilmiyor. tüm albümlerinin isimlerini alabilmem için verileri nasıl ayrıştırırım?

+0

çözüm ..... http almak olabilir benim cevap Oku: Yanıtınız için //stackoverflow.com/questions/30207465/ios-facebook-album-photos-picker/31789234#31789234 –

cevap

3

"result" aslında bir sözlük dizisidir, bu nedenle diziden geçerek dizideki her öğeden adı yakalar.

for (NSDictionary *anAlbum in [result objectForKey:@"data"]) { 
    NSLog(@"%@", [anAlbum objectForKey:@"name"]); 
} 
+0

teşekkürler. Yukarıdaki kodu denedim, bu tamamen mantıklı, ama aşağıdaki hatayı aldım: '[__NSCFString objectForKey:]: örneğin 0x898d320'ye gönderilen tanınmayan seçici. Parse edildiğinde, her sözlük aslında bir 'NSCFString' gibi görünüyor. –

+0

Tamam, lütfen bu kodu çalıştırın ve çıktıyı gönderin: for (sonuçta NSDictionary * anAlbum) { NSLog (@ "% @", anAlbum); } –

+0

Çıktı: 'data' ve daha sonra yeni bir satırda' sayfalama '. 'data', JSON çıktısının üstünde bir girdi ve' paging' de en altta yer alıyor. –

İlgili konular