Ideally an NSCoding compliant class will work as expected using encodeWithCoder: and initWithCoder: (at least I thought so till recently) without the developer having to bother about what goes on inside the routines (unless my idea of an NSCoding compliant class are totally screwed up!)
The UIImageView class is NSCoding compliant. So I should not have to bother how it will be serialized/de-serialized using the NSKeyedArchiver and NSKeyedUnarchiver classes. But every time I try and encode a UIImageView object, I get an error that UIImage does not recognize encodeWithCoder: method.
Now the UIImageView internally uses a UIImage object. But shouldn't the encoding have taken care of that itself?
Or is the NSCoding compliance specified in the documentation to just let the user know that they can implement the initWithCoder and encodeWithCoder methods?
Can someone please clarify this for me! I am thoroughly confused!