2012-01-10 5 views
1

Когда я пытаюсь переключить виды с A на B, все работает. Но когда я хочу вернуться с B на A, приложение выйдет из строя?Ошибка утечки памяти при утечке

Когда я удаляю авторекламу, приложение работает нормально, но затем оно течет.

Вот код для переключения просмотров:

-(IBAction)switchToExplainView:(id)sender{ 

explainViewController = [[ExplainViewController alloc] 
         initWithNibName:@"ExplainViewController" 
         bundle:nil]; 

[self.view addSubview:explainViewController.view]; 

}

ответ

0

Вы должны учитывать как контроллер и представление.

Контроллер будет придерживаться своего вида, но вам нужно удержать его. Если вы (авто) освободите его, его можно легко освободить, и если вы попытаетесь получить к нему доступ, ваше приложение выйдет из строя.

Вид сам будет выпущен его супервизором, но не контроллером.

Одним из возможных решений является сохранение этого контроллера в ivar вашего класса, который управляет (переключает) виды. Только освободите их, когда вы закончите с ними.

+0

Вы имеете в виду что-то вроде этого? http://stackoverflow.com/questions/7542143/moving-between-xibs-ios, если у вас есть другие примеры, я был бы признателен. – user997841

0

Вы используете навигационный контроллер для переключения между видами? Если да, вы можете использовать сообщение [myNavController pushViewController:... animated:...]. После этого вы можете легко освободить свой explainViewController.

+0

Я не использую navigationController, я уже пробовал это, но у меня появилась еще одна ошибка :). Я попробую, когда это не сработает. Thx заранее – user997841

Смежные вопросы