21

When to use attributes and What is the purpose of each attribute?

muthukumar
  • 652
  • 1
  • 6
  • 19

1 Answers1

36

Some attributes:

readonly - use if you don't want a setter

retain - use if you want values assigned to your property to be retained

copy - use if you want values assigned to your property to be copied.

assign - use if you want new values to be assigned with no retain or copy.

nonatomic - use to disable the mechanism that makes property access atomic. An atomic property is guaranteed to give you a pointer to a real object that still exists or nil. In a multithreaded environment, a nonatomic property could give you an object that has already been deallocated.

JeremyP
  • 80,230
  • 15
  • 117
  • 158