2012-07-12 15 views
8

Estoy trabajando en una aplicación donde el usuario puede dibujar en la pantalla con el dedo. Estoy usando UIBezierPath para esto. Necesito persistir esta información, que es un NSArray que contiene múltiples objetos BezierPath. ¿Cuál es la mejor manera de hacerlo? Almacenar en coredata, almacenar en un archivo usando NSData? Muy agradecido.UIBezierPath persistencia con datos del núcleo

Respuesta

12

¿Espera tener que almacenar varios objetos? ¿Necesitarás poder buscarlos según algún filtro u orden? Recomiendo usar Core Data para ahorrarse una cantidad decente de trabajo al empaquetar/desempaquetar los datos. Realmente no hay una razón para almacenarlo en un archivo.

edición:

Como dijo la otra respuesta, que acaba de archivar a NSData. La clase UIBezierPath se adhiere al protocolo NSCoding lo que puede hacer algo como esto para archivarla:

NSData *bezierData = [NSKeyedArchiver archivedDataWithRootObject:bezierPath]; 

Puede persistir ese objeto NSData de datos básicos.

para decodificar el archivo, asumiendo que tenemos un objeto NSData bezierData, se puede hacer algo como:

UIBezierPath *bezierPath = [NSKeyedUnarchiver unarchiveObjectWithData:bezierData]; 
+0

¿Cómo le persistir en una UIBesierPath coredata? –

+0

actualizando mi respuesta. – Dima

Cuestiones relacionadas