Este fragmento de documentación:
- (id) copiar
Valor de retorno El objeto devuelto por el método de protocolo NSCopying copyWithZone :, donde la zona es nula.
Discusión Este es un método práctico para las clases que adoptan el protocolo NSCopying. Se genera una excepción si no hay implementación para copyWithZone :.
NSObject no es compatible con el protocolo NSCopying. Las subclases deben admitir el protocolo e implementar el método copyWithZone: Una versión de subclase del método copyWithZone: debe enviar el mensaje al súper primero, para incorporar su implementación, a menos que la subclase desciende directamente de NSObject.
Consideraciones especiales Si está utilizando la memoria administrada (no la recolección de basura), este método conserva el nuevo objeto antes de devolverlo. El invocador del método, sin embargo, es responsable de liberar el objeto devuelto.
+1 buena pregunta – andy
Como regla general, en Cocoa tienes que publicar todo lo que tienes. Usted posee algo si lo envió con nuevo, copia, alloc o retener. Si no llamó a uno de esos métodos, no lo posee y no debe liberarlo. –