Una forma de hacer que su objeto personalizado se guarde y cargue de forma transparente desde Core Data es usar un NSValueTransformer. Si crea un NSValueTransformer que puede ir de su clase a NSData y viceversa, puede marcar el atributo en su entidad que corresponde a esta clase como transformable. Core Data le permitirá configurar y recuperar objetos de este tipo cuando se trate de este atributo.
En mi respuesta here Muestro el código de cómo hacerlo con los atributos de UIImage, que no son compatibles de forma nativa con Core Data. Para hacer algo como esto para su objeto personalizado, deberá cumplir con NSCoding e implementar sus propios métodos -encodeWithCoder:
y -initWithCoder:
para serializarlo en una instancia de NSData para su almacenamiento.
Apple tiene más documentación sobre esto en la sección "Non-Standard Persistent Attributes" de la Guía de programación de datos básicos, incluido un ejemplo que utiliza la clase NSColor de la Mac.
Aunque creo que es mejor hacer lo que @beryllium sugirió; Brad tiene razón (por supuesto). –