A way that you can make your custom object transparently saved and loaded from Core Data is to use an NSValueTransformer. If you create an NSValueTransformer that can go from your class to NSData and vice versa, you can mark the attribute in your entity that corresponds to this class as being transformable. Core Data will then let you set and retrieve objects of this type when dealing with this attribute.
In my answer here I show code for how to do this with UIImage attributes, which are not supported natively by Core Data. To do something like this for your custom object, you'll need to make it NSCoding compliant and implement your own -encodeWithCoder:
and -initWithCoder:
methods to serialize it to an NSData instance for storage.
Apple has more documentation on this in the "Non-Standard Persistent Attributes" section of the Core Data Programming Guide, including an example that uses the Mac's NSColor class.