Этот фрагмент из документации:
- (id) копия
Возвращаемое значение
Объект, возвращаемый методом протокола NSCopying copyWithZone :, где зона равна nil.
Обсуждение
Это удобный метод для классов, которые принимают протокол NSCopying. Возникает исключение, если для copyWithZone нет реализации:.
NSObject не поддерживает сам протокол NSCopying. Подклассы должны поддерживать протокол и реализовывать метод copyWithZone:. Версия подкласса copyWithZone: метод должна отправлять сообщение супер сначала, чтобы включить его реализацию, если только подкласс не происходит напрямую от NSObject.
Особые соображения
Если вы используете управляемую память (не сборщик мусора), этот метод сохраняет новый объект перед его возвратом. Ответственный за метод, однако, ответственен за освобождение возвращенного объекта.