Я освобождаю объекты, только если создаю их с помощью alloc? - PullRequest
0 голосов
/ 25 августа 2010

Согласно Apple , если не создать объект с помощью alloc или new, его не нужно освобождать.

Правильно ли мое понимание?Поэтому что-то подобное не должно быть выпущено:

NSURLRequest *request = [NSURLRequest requestWithURL:url cachePolicy:NSURLRequestReloadIgnoringCacheData timeoutInterval:30];

Ответы [ 3 ]

2 голосов
/ 25 августа 2010

Apple`s Правила управления памятью :

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

Итак: Вы правы.

1 голос
/ 25 августа 2010

Если имя метода содержит new, alloc или copy, вы должны освободить его.

Вам не нужно освобождать NSURLRequest в вашем примере, это autoreleased .

0 голосов
/ 25 августа 2010

Правильно.Вы бы не выпустили этот объект.Единственный раз, когда вы это сделаете, это если бы вы сначала сохранили его (то есть взяли на себя право собственности).

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...