Правило управления памятью какао - PullRequest
0 голосов
/ 06 июля 2010

В документе "Руководство по программированию управления памятью" Какао написано:

Вы становитесь владельцем объекта, если создаете его с помощью метода, имя которого начинается с «alloc» или «new» или содержит «copy» (например, alloc, newObject или mutableCopy), или если вы отправляете ему сохранить сообщение. Вы несете ответственность за отказ от владения принадлежащими вам объектами с помощью выпуска или автоматического выпуска. В любое другое время, когда вы получаете объект, вы не должны отпускать его.

Применимо ли это к вспомогательным методам, таким как [NSNumber numberWithFloat:] или [CAAnimation animation]? Должен ли я выпустить их или нет?

Спасибо!

Ответы [ 2 ]

2 голосов
/ 06 июля 2010

Это утверждение все еще верно для вспомогательных методов, в частности, последнего предложения

В любой другой раз, когда вы получаете объект, вы не должны его отпускать.

Этоозначает, что вы должны , а не освободить эти объекты, если вы явно не отправите им заранее сообщение сохранения.

1 голос
/ 07 июля 2010

Имена этих методов не начинаются с alloc или new, не содержат copy и не retain. Итак, нет - вы не являетесь владельцем объектов, возвращаемых этими методами, поэтому не следует их освобождать.

...