Verwenden von setValuesForKeysWithDictionary mit untergeordneten Objekten und JSON

8

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?

    
Tavis Bones 09.06.2011, 20:34
quelle

2 Antworten

6

-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.

    
John Calsbeek 09.06.2011, 20:46
quelle
7

Haben Sie das versucht?

// Foo class

%Vor%     
Tuan Nguyen 21.03.2014 16:27
quelle

Tags und Links