Первый релиз.Предполагая, что ваше синтезированное свойство равно retain
, реализация будет обрабатывать для вас release
:
self.m_tabbarController = [[[TabbarController alloc] init] autorelease];
Короче говоря, вы не можете полагаться на какой-либо способ повторной инициализации экземпляра, если вы не реализуете какой-либо метод повторной инициализациив классе.
Если это UIViewController
, просто создайте новый UIViewController
, потому что вам нужно много знать о реализации, всех подклассах и всех членах / ivars для правильной реализации повторной инициализации.Иногда вы можете сделать это с помощью его общедоступных свойств, иногда вы не сможете правильно инициализировать экземпляр.
Одна проблема с повторной инициализацией состоит в том, что то, что вы alloc
, может не совпадать с возвращаемым - и вы можетеиначе не знаю, с каким типом ты имеешь дело конкретно во всех случаях.Правильная, исчерпывающая повторная реализация сложного типа добавляет много реализации (которая также имеет тенденцию быть транзитивной).