Is it necessary to call [super encodeWithCoder] when subclassing a object that implements NSCoding?
If you inherit from a class that supports Encoding, it is generally adviseable to use [super encodeWithCoder:]
in your encodeWithCoder:
method, as much as [super initWithCoder:]
is to be used in the initWithCoder:
method.
Documentation : NSCoding Protocol Reference
Reference : http://www.cocoadev.com/index.pl?NSCoder
if the class inherits from a Class that conforms to (NSObject does not conform) then you should include the [encodeWithCoder:] method.
// <NSCoding> protocol methods-(void)encodeWithCoder:(NSCoder*)coder{ [super encodeWithCoder:coder]; /* [coder encodeObject: theNSStringInstanceVariable]; [coder encodeObject: theNSDictionaryInstanceVariable]; [coder encodeValueOfObjCType:@encode(BOOL) at:&theBooleanInstanceVariable]; [coder encodeValueOfObjCType:@encode(float) at:&theFloatInstanceVariable]; */}