Нужно ли освобождать делегатов приложения? - PullRequest
0 голосов
/ 29 июня 2010

Еще не знаком с управлением памятью в приложениях для iPhone, у меня вопрос новичка. Допустим, у меня есть какой-то метод, который использует атрибуты AppDelegate. В начале этих методов я получаю такой делегат:

// Get delegate
MyAppDelegate *delegate = (MyAppDelegate *)[[UIApplication sharedApplication] delegate];

Нужно ли выполнять какой-то выпуск в конце метода (я думал добавить [релиз делегата] в конце каждого метода, подобного этому).

Вообще говоря, нужно ли в конце метода освобождать все переменные объекта (NSString, NSData, ...), созданные в этом методе?

Большое спасибо, Люк

Ответы [ 2 ]

1 голос
/ 29 июня 2010

Нет. Это просто ссылка на вашего делегата, которая, скорее всего, используется другими частями вашей программы.

1 голос
/ 29 июня 2010

Простое правило:

Если, когда вы получили ссылку на объект (в данном случае appDelegate), вы не вызвали alloc для объекта, вам не нужно выпускать.Если вы позвонили по номеру alloc в той строке кода, которую вы указали, вы бы хотели позвонить [delegate release];

...