2012-06-04 8 views
5

Ich mache folgende einfache Anfrage an Facebook. Mein Ziel ist es, die Namen aller Benutzers Fotoalben zu greifen:Wie bekomme ich Facebook Fotoalben für iOS?

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

Dann habe ich eine JSON-Antwort vom Server wie solche erhalten:

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"; 
    }, 

Und so weiter. Das Problem ist, wenn ich versuche, um die Daten zu analysieren, mit:

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

ich null. Ich nehme an, dass dies geschieht, weil die NSDictionary, dass die Daten zurückgegeben werden, nicht wissen, auf welchen name Eintrag sich konzentrieren soll. Wie analysiere ich die Daten, damit ich die Namen alle die Alben bekomme?

+0

meine Antwort Lesen Sie Ihre Lösung ..... http erhalten werden kann: //stackoverflow.com/questions/30207465/ios-facebook-album-photos-picker/31789234#31789234 –

Antwort

3

"Ergebnis" ist eigentlich ein Array von Wörterbüchern, also durchlaufen Sie das Array und dann den Namen von jedem Element im Array.

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

Vielen Dank für Ihre Antwort. Ich habe Ihren obigen Code ausprobiert, was durchaus Sinn macht, aber folgenden Fehler hat: '[__NSCFString objectForKey:]: unerkannter Selektor an Instanz 0x898d320' gesendet. Es sieht so aus, als wäre jedes Wörterbuch im geparsten Zustand ein 'NSCFString'. –

+0

Ok, bitte führe diesen Code aus und poste die Ausgabe: for (NSDictionary * anAlbum im Ergebnis) { NSLog (@ "% @", anAlbum); } –

+0

Hier ist die Ausgabe: 'data', und dann in einer neuen Zeile' paging'. 'data' ist ein Eintrag am Anfang der JSON-Ausgabe und' paging' ist unten. –

Verwandte Themen