Search code examples
objective-cioscocoafoundationnscopying

What is the difference between "-copy" and "-copyWithZone:"?


I know that copy creates an immutable copy of an object but i just want to know how copywithzone works and what is the basic difference between copy and copywithzone


Solution

  • copy is just short for copyWithZone:, using the default zone.

    it's rare that you would call copyWithZone: directly, although defining/implementing it is required in order to adopt @protocol NSCopying. so you would normally see copyWithZone: only within an implementation of copyWithZone:. similarly, you would typically avoid implementing copy, and just let the default implementation of copy call through copyWithZone:.