Если вы понимаете процесс сохранения / освобождения, тогда есть два золотых правила, которые «duh» очевидны для созданных программистов Cocoa, но, к сожалению, они редко излагаются это явно для новичков.
alloc
, create
или copy
в своем имени, тогда объект принадлежит вам. Вы должны позвонить [object release]
, когда закончите с ним. Или CFRelease(object)
, если это объект Core-Foundation. [object retain]
, если вы хотите сохранить объект после окончания вашей функции. Вам будет хорошо служить также следовать этому соглашению в создаваемых вами целях.
(Nitpickers: Да, есть, к сожалению, несколько вызовов API, которые являются исключениями из этих правил, но они редки).