NSCopying Mac OS X 10.0

This protocol declares a single method for classes to implement: copyWithZone:. Classes should implement this method to create and return a fully functioning object that is a copy of the receiver. The zone parameter indicates what memory zone the new object should be allocated in; if this parameter is nil, then the instance is allocated in the default zone. Clients generally make copies of objects using NSObject's copy method, which is a convenience method for invoking copyWithZone: with nil as the zone.

@protocol NSCopying
 // Instance Methods
   - (id)copyWithZone:(NSZone *)zone;

    Part II: API Quick Reference
    Chapter 13. Foundation Classes