Up

NSKeyedArchiver documentation

Authors

Richard Frith-Macdonald (rfm@gnu.org)

Copyright: (C) 2004 Free Software Foundation, Inc.


Contents -

  1. Software documentation for the NSKeyedArchiver class
  2. Software documentation for the NSKeyedUnarchiver class
  3. Software documentation for the NSCoder(NSGeometryKeyedCoding) category
  4. Software documentation for the NSKeyedArchiver(Internal) category
  5. Software documentation for the NSKeyedUnarchiver(Internal) category
  6. Software documentation for the NSObject(NSKeyedArchiverDelegate) category
  7. Software documentation for the NSObject(NSKeyedArchiverObjectSubstitution) category
  8. Software documentation for the NSObject(NSKeyedUnarchiverDelegate) category
  9. Software documentation for the NSObject(NSKeyedUnarchiverObjectSubstitution) category

Software documentation for the NSKeyedArchiver class

NSKeyedArchiver : NSCoder

Declared in:
Foundation/NSKeyedArchiver.h
Standards:

Keyed archiving class

Method summary

archiveRootObject: toFile: 

+ (BOOL) archiveRootObject: (id)anObject toFile: (NSString*)aPath;

Encodes anObject and writes the resulting data ti aPath.


archivedDataWithRootObject: 

+ (NSData*) archivedDataWithRootObject: (id)anObject;

Encodes anObject and returns the resulting data object.


classNameForClass: 

+ (NSString*) classNameForClass: (Class)aClass;

Returns the class name with which the NSKeyedArchiver class will encode instances of aClass, or nil if no name mapping has been set using the +setClassName:forClass: method.


setClassName: forClass: 

+ (void) setClassName: (NSString*)aString forClass: (Class)aClass;

Sets the class name with which the NSKeyedArchiver class will encode instances of aClass. This mapping is used only if no class name mapping has been set for the individual instance of NSKeyedArchiver being used.
The value of aString must be the name of an existing class.
If the value of aString is nil, any mapping for aClass is removed.


classNameForClass: 

- (NSString*) classNameForClass: (Class)aClass;

Returns any mapping for the name of aClass which was previously set for the receiver using the -setClassName:forClass: method.
Returns nil if no such mapping exists, even if one has been set using the class method +setClassName:forClass:


delegate 

- (id) delegate;

Returns the delegate set for the receiver, or nil of none is set.


encodeBool: forKey: 

- (void) encodeBool: (BOOL)aBool forKey: (NSString*)aKey;

Description forthcoming.


encodeBytes: length: forKey: 

- (void) encodeBytes: (const uint8_t*)aPointer length: (unsigned)length forKey: (NSString*)aKey;

Description forthcoming.


encodeConditionalObject: forKey: 

- (void) encodeConditionalObject: (id)anObject forKey: (NSString*)aKey;

Description forthcoming.


encodeDouble: forKey: 

- (void) encodeDouble: (double)aDouble forKey: (NSString*)aKey;

Description forthcoming.


encodeFloat: forKey: 

- (void) encodeFloat: (float)aFloat forKey: (NSString*)aKey;

Description forthcoming.


encodeInt32: forKey: 

- (void) encodeInt32: (int32_t)anInteger forKey: (NSString*)aKey;

Description forthcoming.


encodeInt64: forKey: 

- (void) encodeInt64: (int64_t)anInteger forKey: (NSString*)aKey;

Description forthcoming.


encodeInt: forKey: 

- (void) encodeInt: (int)anInteger forKey: (NSString*)aKey;

Description forthcoming.


encodeObject: forKey: 

- (void) encodeObject: (id)anObject forKey: (NSString*)aKey;

Description forthcoming.


finishEncoding 

- (void) finishEncoding;

Ends the encoding process and causes the encoded archive to be placed in the mutable data object supplied when the receiver was initialised.
This method must be called at the end of encoding, and nothing may be encoded after this method is called.


initForWritingWithMutableData: 

- (id) initForWritingWithMutableData: (NSMutableData*)data;

Initialise the receiver to encode an archive into the supplied data object.


outputFormat 

- (NSPropertyListFormat) outputFormat;

Returns the output format of the archived data... this should default to the MacOS-X binary format, but we don't support that yet, so the -setOutputFormat: method should be used to set a supported format.


setClassName: forClass: 

- (void) setClassName: (NSString*)aString forClass: (Class)aClass;

Sets the name with which instances of aClass are encoded.
The value of aString must be the anme of an existing clas.


setDelegate: 

- (void) setDelegate: (id)anObject;

Sets the receivers delegate. The delegate should conform to the NSObject(NSKeyedArchiverDelegate) informal protocol.
NB. the delegate is not retained, so you must ensure that it is not deallocated before the archiver has finished with it.


setOutputFormat: 

- (void) setOutputFormat: (NSPropertyListFormat)format;

Specifies the output format of the archived data... this should default to the MacOS-X binary format, but we don't support that yet, so the -setOutputFormat: method should be used to set a supported format.


Software documentation for the NSKeyedUnarchiver class

NSKeyedUnarchiver : NSCoder

Declared in:
Foundation/NSKeyedArchiver.h
Standards:

Keyed unarchiving class.

Method summary

classForClassName: 

+ (Class) classForClassName: (NSString*)aString;

Description forthcoming.


setClass: forClassName: 

+ (void) setClass: (Class)aClass forClassName: (NSString*)aString;

Description forthcoming.


unarchiveObjectWithData: 

+ (id) unarchiveObjectWithData: (NSData*)data;

Description forthcoming.


unarchiveObjectWithFile: 

+ (id) unarchiveObjectWithFile: (NSString*)aPath;

Description forthcoming.


classForClassName: 

- (Class) classForClassName: (NSString*)aString;

Description forthcoming.


containsValueForKey: 

- (BOOL) containsValueForKey: (NSString*)aKey;

Description forthcoming.


decodeBoolForKey: 

- (BOOL) decodeBoolForKey: (NSString*)aKey;

Description forthcoming.


decodeBytesForKey: returnedLength: 

- (const uint8_t*) decodeBytesForKey: (NSString*)aKey returnedLength: (unsigned*)length;

Description forthcoming.


decodeDoubleForKey: 

- (double) decodeDoubleForKey: (NSString*)aKey;

Description forthcoming.


decodeFloatForKey: 

- (float) decodeFloatForKey: (NSString*)aKey;

Description forthcoming.


decodeInt32ForKey: 

- (int32_t) decodeInt32ForKey: (NSString*)aKey;

Description forthcoming.


decodeInt64ForKey: 

- (int64_t) decodeInt64ForKey: (NSString*)aKey;

Description forthcoming.


decodeIntForKey: 

- (int) decodeIntForKey: (NSString*)aKey;

Description forthcoming.


decodeObjectForKey: 

- (id) decodeObjectForKey: (NSString*)aKey;

Description forthcoming.


delegate 

- (id) delegate;

returns the delegate of the unarchiver.


finishDecoding 

- (void) finishDecoding;

Description forthcoming.


initForReadingWithData: 

- (id) initForReadingWithData: (NSData*)data;

Description forthcoming.


setClass: forClassName: 

- (void) setClass: (Class)aClass forClassName: (NSString*)aString;

Description forthcoming.


setDelegate: 

- (void) setDelegate: (id)delegate;

Sets the receivers delegate. The delegate should conform to the NSObject(NSKeyedUnarchiverDelegate) informal protocol.
NB. the delegate is not retained, so you must ensure that it is not deallocated before the unarchiver has finished with it.


Software documentation for the NSCoder(NSGeometryKeyedCoding) category

NSCoder(NSGeometryKeyedCoding)

Declared in:
Foundation/NSKeyedArchiver.h
Standards:

Description forthcoming.

Method summary

decodePointForKey: 

- (NSPoint) decodePointForKey: (NSString*)aKey;

Decodes an NSPoint object.


decodeRectForKey: 

- (NSRect) decodeRectForKey: (NSString*)aKey;

Decodes an NSRect object.


decodeSizeForKey: 

- (NSSize) decodeSizeForKey: (NSString*)aKey;

Decodes an NSSize object.


encodePoint: forKey: 

- (void) encodePoint: (NSPoint)aPoint forKey: (NSString*)aKey;

Encodes an NSPoint object.


encodeRect: forKey: 

- (void) encodeRect: (NSRect)aRect forKey: (NSString*)aKey;

Encodes an NSRect object.


encodeSize: forKey: 

- (void) encodeSize: (NSSize)aSize forKey: (NSString*)aKey;

Encodes an NSSize object.


Software documentation for the NSKeyedArchiver(Internal) category

NSKeyedArchiver(Internal)

Declared in:
Foundation/NSKeyedArchiver.h
Standards:

Description forthcoming.

Method summary

_encodeArrayOfObjects: forKey: 

- (void) _encodeArrayOfObjects: (NSArray*)anArray forKey: (NSString*)aKey;

Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.
Internal method used to encode an array relatively efficiently.
Some MacOS-X library classes seem to use this.


_encodePropertyList: forKey: 

- (void) _encodePropertyList: (id)anObject forKey: (NSString*)aKey;

Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.


Software documentation for the NSKeyedUnarchiver(Internal) category

NSKeyedUnarchiver(Internal)

Declared in:
Foundation/NSKeyedArchiver.h
Standards:

Description forthcoming.

Method summary

_decodeArrayOfObjectsForKey: 

- (id) _decodeArrayOfObjectsForKey: (NSString*)aKey;

Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.
Internal method used to decode an array relatively efficiently.
Some MacOS-X library classes seem to use this.


_decodePropertyListForKey: 

- (id) _decodePropertyListForKey: (NSString*)aKey;

Warning the underscore at the start of the name of this method indicates that it is private, for internal use only, and you should not use the method in your code.


Software documentation for the NSObject(NSKeyedArchiverDelegate) category

NSObject(NSKeyedArchiverDelegate)

Declared in:
Foundation/NSKeyedArchiver.h
Standards:

Informal protocol implemented by delegates of NSKeyedArchiver

Method summary

archiver: didEncodeObject: 

- (void) archiver: (NSKeyedArchiver*)anArchiver didEncodeObject: (id)anObject;

Sent when encoding of anObject has completed except in the case of conditional encoding.


archiver: willEncodeObject: 

- (id) archiver: (NSKeyedArchiver*)anArchiver willEncodeObject: (id)anObject;

Sent when anObject is about to be encoded (or conditionally encoded) and provides the receiver with an opportunity to change the actual object stored into the archive by returning a different value (otherwise it should return anObject ).
The method is not called for encoding of nil or for encoding of any object for which has already been called.
The method is called after the -replacementObjectForKeyedArchiver: method.


archiver: willReplaceObject: withObject: 

- (void) archiver: (NSKeyedArchiver*)anArchiver willReplaceObject: (id)anObject withObject: (id)newObject;

Sent whenever object replacement occurs during encoding, either by the -replacementObjectForKeyedArchiver: method or because the delegate has returned a changed value using the -archiver:willEncodeObject: method.


archiverDidFinish: 

- (void) archiverDidFinish: (NSKeyedArchiver*)anArchiver;

Sent when the encoding process is complete.


archiverWillFinish: 

- (void) archiverWillFinish: (NSKeyedArchiver*)anArchiver;

Sent when the encoding process is about to finish.


Software documentation for the NSObject(NSKeyedArchiverObjectSubstitution) category

NSObject(NSKeyedArchiverObjectSubstitution)

Declared in:
Foundation/NSKeyedArchiver.h
Standards:

Methods by which a class may control its archiving by the NSKeyedArchiver

Method summary

classForKeyedArchiver 

- (Class) classForKeyedArchiver;

This message is sent to objects being encoded, to allow them to choose to be encoded a different class. If this returns nil it is treated as if it returned the class of the object.
After this method is applied, any class name mapping set in the archiver is applied to its result.
The default implementation returns the result of the -classForArchiver method.


replacementObjectForKeyedArchiver: 

- (id) replacementObjectForKeyedArchiver: (NSKeyedArchiver*)archiver;

This message is sent to objects being encoded, to allow them to choose to be encoded a different object by returning the alternative object.
The default implementation returns the result of calling the -replacementObjectForArchiver: method with a nil argument.
This is called only if no mapping has been set up in the archiver already.


Software documentation for the NSObject(NSKeyedUnarchiverDelegate) category

NSObject(NSKeyedUnarchiverDelegate)

Declared in:
Foundation/NSKeyedArchiver.h
Standards:

Informal protocol implemented by delegates of NSKeyedUnarchiver

Method summary

unarchiver: cannotDecodeObjectOfClassName: originalClasses: 

- (Class) unarchiver: (NSKeyedUnarchiver*)anUnarchiver cannotDecodeObjectOfClassName: (NSString*)aName originalClasses: (NSArray*)classNames;

Sent if the named class is not available during decoding.
The value of aName is the class name being decoded (after any name mapping has been applied).
The classNames arraay contains the original name of the class encoded in the archive, and is followed by eqach of its superclasses in turn.
The delegate may either return a class object for the unarchiver to use to continue decoding, or may return nil to abort the decoding process.


unarchiver: didDecodeObject: 

- (id) unarchiver: (NSKeyedUnarchiver*)anUnarchiver didDecodeObject: (id)anObject;

Sent when anObject is decoded. The receiver may return either anObject or some other object (including nil). If a value other than anObject is returned, it is used to replace anObject.


unarchiver: willReplaceObject: withObject: 

- (void) unarchiver: (NSKeyedUnarchiver*)anUnarchiver willReplaceObject: (id)anObject withObject: (id)newObject;

Sent whenever object replacement occurs during decoding, eg by the -replacementObjectForKeyedArchiver: method.


unarchiverDidFinish: 

- (void) unarchiverDidFinish: (NSKeyedUnarchiver*)anUnarchiver;

Sent when unarchiving is about to complete.


unarchiverWillFinish: 

- (void) unarchiverWillFinish: (NSKeyedUnarchiver*)anUnarchiver;

Sent when unarchiving has been completed.


Software documentation for the NSObject(NSKeyedUnarchiverObjectSubstitution) category

NSObject(NSKeyedUnarchiverObjectSubstitution)

Declared in:
Foundation/NSKeyedArchiver.h
Standards:

Description forthcoming.

Method summary

classForKeyedUnarchiver 

+ (Class) classForKeyedUnarchiver;

Sent during unarchiving to permit classes to substitute a different class for decoded instances of themselves.
Default implementation returns the receiver.
Overrides the mappings set up within the receiver.



Up