Странно EXC_BAD_ACCESS с [self dismissModalViewControllerAnimated] - PullRequest
1 голос
/ 21 октября 2011

В моем приложении я переключаюсь между видами модально. Моя проблема, когда я перехожу с первого viewController на второй, это работает. Когда я отказываюсь от второго взгляда в первый раз, это тоже работает. Вы говорите, где проблема? Приближается. Когда я перехожу от первого viewController ко второму, он снова работает. Как и должно быть. Тем не менее, когда я пытаюсь закрыть второй viewController во ВТОРОЕ время, я получаю ошибку EXC_BAD_ACCESS на

[self dismissModalViewControllerAnimated:YES];

линия.

Почему происходит сбой во второй раз, но не в первый раз?

РЕДАКТИРОВАТЬ ОДИН:

Эта ошибка возникает независимо от того, на какой viewController я переключаюсь:

Если я перейду от A к B, затем вернусь к A, затем к B, затем попробую вернуться к A: crash Если я перейду с А на С, потом вернусь к А, затем к С, затем попробую вернуться к А: снова сбой

РЕДАКТИРОВАТЬ ВТОРОЕ:

Я создаю / показываю контроллер вида с этим кодом:

MapView *controller = [[MapView alloc] initWithNibName:@"MapView" bundle:nil];

controller.modalTransitionStyle = UIModalTransitionStyleCrossDissolve;
[self presentModalViewController:controller animated:YES];

Должен ли я выпускать этот объект после его создания?

Проблема решена. Оскорбляющая строка кода использовалась ранее для перехода, который я использовал до того, как использовал модальные представления, и я забыл удалить его. Win.

1 Ответ

2 голосов
/ 21 октября 2011

Как правило, ошибка EXC_BAD_ACCESS означает, что вы пытаетесь сослаться на освобожденный объект, т. Е. Что-то перевыпускаете.Вернитесь к управлению памятью, возможно, запустите инструмент Build / Build and Analyze.

И да, вы должны вызвать [controller release]; после представления viewcontroller модально.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...