2009-08-26 20 views
0

ich nur raten kann, aber bitte korrigieren Sie mich, wenn ich falsch bin:Wie codiert man ein NSDecimal?

[encoder encodeValueOfObjCType:@encode(NSDecimal) at:&theDecimal]; 

wo Encoder eine Instanz von NSCoder ist.

Aber eine Sache ist seltsam: Warum gibt es keinen Schlüssel zu liefern? Wie würde ich das damals ohne Schlüssel bekommen?

Antwort

1

Wieder an der Spitze des NSDecimalNumber der Dokumentation heißt es, dass es das NSCoding Protokoll entspricht, das bedeutet, dass Sie es in einen NSCoder die normale Art und Weise setzen können:

[encoder encodeObject:theDecimal forKey:@"aKey"]; 

Edit: Whoops, I Sie sehen NSDecimal, nicht NSDecimalNumber. Mein Fehler. Dennoch wäre es sehr einfach, das NSDecimal in eine NSDecimalNumber zu schreiben und so zu speichern.

+0

Wrapping es zu NSDecimalNumber ist eine gute Idee. An diesem Punkt konnte ich mit dem Overhead leben. –

0

Das alte, nicht codierte Codierungsprotokoll erfordert, dass Sie die Schlüssel in derselben Reihenfolge extrahieren, in der Sie sie codiert haben.

Verwandte Themen