Ich habe eine JSON-Zeichenfolge
%Vor%In Ziel c habe ich ein Objekt
%Vor%Und ich synthetisiere nur diese Eigenschaften. Und ich habe ein Kindobjekt mit synthetisierten Eigenschaften.
%Vor%Dann ist hier der Code, wo ich versuche, in das Foo-Objekt zu gelangen, wo die Antwort die json-Zeichenkette ist:
%Vor%Dies löst eine Ausnahme für die NSLog-Anweisung aus:
%Vor%Aber wenn ich den Code ändere, funktioniert es:
%Vor%Ich bin verwirrt darüber, warum ich das erste Beispiel nicht machen kann oder mache ich etwas falsch?
-setValuesForKeysWithDictionary:
ist nicht intelligent genug, um zu erkennen, dass der Wert des Schlüssels "bar" eine Instanz von Bar
sein sollte. Es weist dieser Eigenschaft ein NSDictionary
zu. Wenn Sie also nach der Eigenschaft "name" fragen, kann das Wörterbuch diese Anfrage nicht bearbeiten. Ein NSDictionary
kann jedoch -valueForKey:
verarbeiten, daher funktioniert es in diesem Fall.
Sie müssen also etwas intelligenter als -setValuesForKeysWithDictionary:
verwenden, um Ihre Objekte zu füllen.
Tags und Links objective-c key-value-coding