| 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 |
The NSMutableCopying protocol declares a method for providing mutable copies of an object. Only classes that define an “immutable vs. mutable” distinction should adopt this protocol. Classes that don’t define such a distinction should adopt NSCopying instead.
NSMutableCopying declares one method, mutableCopyWithZone:, but mutable copying is commonly invoked with the convenience method mutableCopy. The mutableCopy method is defined for all NSObjects and simply invokes mutableCopyWithZone: with the default zone.
If a subclass inherits NSMutableCopying from its superclass and declares additional instance variables, the subclass has to override mutableCopyWithZone: to properly handle its own instance variables, invoking the superclass’s implementation first.
Returns a new instance that’s a mutable copy of the receiver.
- (id)mutableCopyWithZone:(NSZone *)zone
The zone from which memory is allocated for the new instance. If zone is NULL, the new instance is allocated from the default zone, which is returned by NSDefaultMallocZone.
The returned object is implicitly retained by the sender, which is responsible for releasing it. The copy returned is mutable whether the original is mutable or not.
– copyWithZone: (NSCopying protocol)– mutableCopy (NSObject class)NSObject.h
© 2006 Apple Computer, Inc. All Rights Reserved. (Last updated: 2006-05-23)