Wie kann ich einen NSCoder dazu bringen, ein Swift-Array von Strukturen zu codieren / decodieren?
Ich habe ein Objekt, das @ entsprechen muNSCoding
und das hält ein Array vonUInt64
Werte. Wie kann ich es mit einem @ codieren / decodierNSCoder
überhaupt? Bonusfrage: Wie kann ich es am kompaktesten codieren? (Es müssen gespeicherte Game Center-Statusdaten abgelegt werden, deren Größe begrenzt ist.)
Ideally, ich möchte nur ein @ schreibInt
was ist die Größen
des Arrays, und schreiben Sie dannn
mal die 64 Bits einesUInt64
, und lesen Sie es ähnlich. Kann ich das tun
coder.encodeObject(values, forKey: "v")
funktioniert nicht.
class MyObject: NSCoding {
private var values: [UInt64]
// …
// MARK: - NSCoding
required init(coder decoder: NSCoder) {
// ???
}
func encodeWithCoder(coder: NSCoder) {
// ???
}
}