2010-06-10 811 views
46

Existe este tipo de datos Transformable para los atributos. ¿Para que sirve? ¿Hay buenos ejemplos?¿Qué puedo hacer con un tipo de atributo Transformable en Core Data en el iPhone?

Me gustaría jugar con esto. Así que después de buscar un momento me encontré con esto: NSValueTransformer. Parece ser algo que necesito para esto.

Entonces, ¿cómo podría comenzar con esto? Por ejemplo, si quisiera almacenar un objeto UIColor, ¿haría un transformador para eso?

¿A qué se está transformando esto exactamente? ¿Un NSData? ¿Y el objeto que paso al transformador debe seguir algún protocolo?

Respuesta

70

Los atributos transformables son útiles para almacenar tipos de objetos no estándar en Core Data. Por ejemplo, proporciono código en this answer que le permite almacenar UIImages como un atributo dentro de los Datos principales. Los datos de imagen se convierten desde y hacia una instancia de NSData que contiene la representación PNG de la imagen. Todo esto se maneja de forma transparente para usted mediante un NSValueTransformer personalizado.

También puede encriptar atributos individuales dentro de su modelo de Datos Core, como I describe here. Usar un atributo transformable para esto hace que este código sea trivial.

Cuestiones relacionadas