Como posso obter um NSCoder para codificar / decodificar uma matriz Swift de estruturas?
Eu tenho um objeto que deve estar em conformidade comNSCoding
e que contém uma variedade deUInt64
valores. Como codificá-lo / decodificá-lo com umNSCoder
em absoluto? Pergunta de bônus: como codificá-lo de forma mais compacta? (Ele deve entrar nos dados de estado salvos do Game Center, cujo tamanho é limitado.)
Idealmente, eu só quero escrever umaInt
qual é o tamanhon
da matriz e, em seguida, escrevan
vezes os 64 bits de umUInt64
e leia-o da mesma forma. Posso fazer isso?
coder.encodeObject(values, forKey: "v")
não funciona
class MyObject: NSCoding {
private var values: [UInt64]
// …
// MARK: - NSCoding
required init(coder decoder: NSCoder) {
// ???
}
func encodeWithCoder(coder: NSCoder) {
// ???
}
}