The rule is "if you call a method starting with new or alloc is called retain or contains copy , then you must (auto) release ". (A simple way to remember this abbreviation: "NARC")
If you declare @property as (retain) or (copy) , then you are responsible for the backup object, and you must do:
[myProperty release]
in your dealloc method.
source share