Tengo un objeto personalizado que simplemente hereda de NSObject. Tiene 3 miembros: dos flotadores y un NSDate
.Objetos personalizados persistentes
Mi aplicación va a tener una matriz con varios de estos objetos dando vueltas, y necesito persistir entre ejecuciones. ¿Cómo puedo lograr esto?
He pensado en usar una base de datos SQLite, pero estoy pensando que es un poco exagerada ya que la única consulta que haría sería select *
.
En un mundo ideal, me gustaría utilizar un archivo xml plist. Sin embargo, no estoy seguro si puedo hacer esto con mi objeto personalizado. Sé que hay un conjunto de objetos de Lista de propiedades, y que NSArray
viene bajo eso, pero writeToFile:atomically:
solo funciona con objetos de lista de propiedades.
¡Cualquier pensamiento sería apreciado, gracias!
¿Y eso produciría un buen plist? Tenía la impresión de que escribir NSData solo produciría datos serializados y no un plist. – Jasarien
Eso produce un archivo NSCoding, un archivo con copias preservadas de sus objetos, algo así como un archivo nib (pero no puede usar Interface Builder para editarlo). La "Guía de programación de archivos y serializaciones para Cocoa" en su documentación lo explicará. –
De forma predeterminada, se archiva en una lista binaria, pero puede cambiarla a una lista XML si así lo desea. Desafortunadamente no es realmente legible por humanos, ya que contiene metadatos de clase y puntero, así como los datos de su objeto. –