Я недавно изучал Objective C и заметил, что следующий шаблон часто используется в руководствах и примерах кода (включая примеры с сайта Apple).
UIView *myUiView = [[UIView alloc] init];
self.uiView = myUiView;
[myUiView release];
Мне было просто интересно, что создание новой переменной - просто расточительство, просто набор свойств. Я также видел, как использовался следующий шаблон, но из того, что я понимаю, считается плохой формой использования автоматического выпуска на устройстве iOS, поскольку пул автоматического выпуска занимает довольно много служебной информации, что может быть нехорошо на мобильном устройстве
self.uiView = [[[UIView alloc] init] autorelease];
Недавно я играл с использованием следующего шаблона, который устанавливает свойство, а затем вызывает release для свойства (чтобы уменьшить счетчик ссылок для самого свойства).
self.uiView = [[UIView alloc] init];
[self.uiView release];
Мне удалось использовать его на нескольких контроллерах ViewController без каких-либо побочных эффектов, но это правильный код или я что-то упустил, что делает его плохой идеей?