Frage

Ich habe eine Reihe von CGPoints von einem CCTMXLayer, die ich in NSUserDefaults speichern möchte, finde aber keine elegante Möglichkeit, dies zu tun.

Ursprünglich hatte ich gehofft, ein NSDictionary mit einem NSMutableSet für einen Wert zu speichern, der mehrere NSValues ​​(valueWithCGPoint) enthält.Soweit ich weiß, werden weder NSMutableSet noch NSValue von NSUserDefaults unterstützt.

An dieser Stelle denke ich darüber nach, die x- und y-Werte des CGPoint als String zu speichern und ihn bei Bedarf einfach hin und her zu konvertieren.

War es hilfreich?

Lösung

Es gibt ein Funktionspaar NSStringFromCGPoint Und CGPointFromString.Sie können diese verwenden, um ein Array von Zeichenfolgen zu erstellen, die die Punkte für die Serialisierung darstellen, und diese dann zurückkonvertieren, wenn Sie fertig sind.

Andere Tipps

Pack sie ein NSValue Objekte.Sobald sie dort sind, können Sie sie schreiben NSValues auf die Festplatte übertragen (da sie konform sind mit <NSCoding>) oder fügen Sie sie ein NSUserDefaults oder Wasauchimmer.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top