8

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

Praveen-K
  • 3,401
  • 1
  • 23
  • 31
prakhar
  • 828
  • 7
  • 18

2 Answers2

14

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:.

justin
  • 104,054
  • 14
  • 179
  • 226
5

NSZone is a legacy concept that has no bearing on iOS. By default -copy on an NSObject will call -copyWithZone: with the default zone.

Joshua Weinberg
  • 28,598
  • 2
  • 97
  • 90