Next Page > Hide TOC

NSCoding Protocol Reference

Adopted by
Various Cocoa classes
Framework
/System/Library/Frameworks/Foundation.framework
Availability
Available in Mac OS X v10.0 and later.
Companion guide
Declared in
NSObject.h
Related sample code

Overview

The NSCoding protocol declares the two methods that a class must implement so that instances of that class can be encoded and decoded. This capability provides the basis for archiving (where objects and other structures are stored on disk) and distribution (where objects are copied to different address spaces).

In keeping with object-oriented design principles, an object being encoded or decoded is responsible for encoding and decoding its instance variables. A coder instructs the object to do so by invoking encodeWithCoder: or initWithCoder:. encodeWithCoder: instructs the object to encode its instance variables to the coder provided; an object can receive this method any number of times. initWithCoder: instructs the object to initialize itself from data in the coder provided; as such, it replaces any other initialization method and is sent only once per object. Any object class that should be codable must adopt the NSCoding protocol and implement its methods.

It is important to consider the possible types of archiving that a coder supports. On Mac OS X version 10.2 and later, keyed archiving is preferred. You may, however, need to support classic archiving. For details, see Archives and Serializations Programming Guide for Cocoa.

Tasks

Initializing with a Coder

Encoding with a Coder

Instance Methods

encodeWithCoder:

Encodes the receiver using a given archiver.

- (void)encodeWithCoder:(NSCoder *)encoder

Parameters
encoder

An archiver object.

Availability
Declared In
NSObject.h

initWithCoder:

Returns an object initialized from data in a given unarchiver.

- (id)initWithCoder:(NSCoder *)decoder

Parameters
decoder

An unarchiver object.

Return Value

self, initialized using the data in decoder.

Availability
Declared In
NSObject.h

Next Page > Hide TOC


© 2006 Apple Computer, Inc. All Rights Reserved. (Last updated: 2006-05-23)


Did this document help you?
Yes: Tell us what works for you.
It’s good, but: Report typos, inaccuracies, and so forth.
It wasn’t helpful: Tell us what would have helped.