Я пытался отладить эту проблему часами, но безуспешно. У меня есть кнопка, которая при нажатии просто делает это:
[self.parentViewController dismissModalViewControllerAnimated:NO];
Теперь у меня много AVAudioPlayers и AVAudioRecorder'ов, но я уверен, что перед тем, как выйти, все это тщательно обработаю. Странно то, что нажатие этой кнопки не всегда приводит к сбою приложения. Только после того, как прошло определенное количество времени, приложение зависает при нажатии. Поэтому, если я нажимаю кнопку через 2 секунды после загрузки страницы, я могу без проблем закрыть представление, и оно возвращается к другому виду. Однако, если я жду 9 или более секунд, я получаю сбой.
Я знаю, что невозможно помочь мне с этой маленькой информацией, но как мне начать отладку этой проблемы? Я не получаю никакого полезного вывода, когда он падает, просто BAD_ACCES и никаких сообщений вообще. Как я могу заглянуть глубже в это и узнать, что происходит? Отладчик тоже не помогает.
РЕДАКТИРОВАТЬ: Я не уверен, исправил ли я проблему, поскольку она случайная, но когда я впервые создаю контроллер представления, который я позже отклоню, я делаю это:
CloseDoorViewController *closeVC=[[CloseDoorViewController alloc] init];
[self.view addSubview:closeVC.view];
[self presentModalViewController:closeVC animated:NO];
[closeVC release];
Затем, когда я нахожусь в CloseDorView и нажимаю dismissModalViewController, у меня происходит сбой. Но после комментирования [closeVC release]
; проблема исчезла (я думаю). Так я не должен выпускать closeVC? Как правильно это сделать?