[__NSCFArray objectForKey:]: unrecognized selector geschickt Instanz
Ich versuche, einen Wert für einen bestimmten Schlüssel aus einem Wörterbuch, aber ich bekomme eine "[__NSCFArray objectForKey:]: unrecognized selector geschickt Instanz "
-(void)connectionDidFinishLoading:(NSURLConnection *)connection{
NSDictionary *avatars = [NSJSONSerialization JSONObjectWithData:webData options:0 error:nil];
NSLog(@"response:::%@", avatars);
if(avatars){
NSDictionary *avatarimage = [avatars objectForKey:@"- image"];
NSString *name = [avatars objectForKey:@"name"];
}
}
Ich NSLog meine Avatare Wörterbuch und mein Ergebnis ist:
(
{
"created_at" = "2013-06-06T11:37:48Z";
id = 7;
image = {
thumb = {
url = "/uploads/avatar/image/7/thumb_304004-1920x1080.jpg";
};
url = "/uploads/avatar/image/7/304004-1920x1080.jpg";
};
name = Drogba;
"updated_at" = "2013-06-06T11:37:48Z";
}
)
InformationsquelleAutor nupac | 2013-06-06
Du musst angemeldet sein, um einen Kommentar abzugeben.
Das problem ist, Sie haben eine
NSArray
keineNSDictionary
. DieNSArray
hat einen Wert von 1 und enthält einNSDictionary
.Schleife über alle Elemente im array Durchlaufen das array.
HINWEIS: ich wechselte auch von
-objectForKey:
[] - syntax. Ich mag das besser.NSArray
und dann zu Loopen? Wie ist auch dieses einNSArray
und nicht einNSDictionary
Ich aktualisiert meine Antwort für wie eine Schleife.
Ich danke Ihnen so sehr
seltsam, ich dachte, meine plist sollte zurückgegeben wird ein array, aber Sie hatten Recht, ich brauchte eine wrapper-array. danke!
InformationsquelleAutor Jeffery Thomas
Den Grund sehen Sie, dass ist, weil
avatars
ist nicht einNSDictionary
aber ist einNSArray
statt.Kann ich sagen, weil:
__NSCFArray
(d.h.NSArray
) nicht erkennt, dieobjectForKey:
selectorbei der Anmeldung
avatars
es gibt auch Klammern(
. Ein array wird protokolliert, auf diese Weise:(
erste element,
das zweite element,
...
)
während ein Wörterbuch wird protokolliert, auf diese Weise:
Beheben Sie das Problem auf diese Weise:
Beachten Sie auch, dass der Schlüssel für die
avatarImage
ist falsch.- image
ich nehme an, dass es ein Fehler ist?InformationsquelleAutor Alessandro Vendruscolo
Versuchen Sie dies:
InformationsquelleAutor user1113101