iPhone: «Нераспознанный селектор, отправленный в экземпляр».
-
24-10-2019 - |
Вопрос
Я пытаюсь реализовать модал частичного наложения в моем приложении с помощью «полумодальных (прозрачных) диалогов на iPhone» на ramin.firoozye.com. Функциональность наложения работает и снимает модальный вид, но вызов любой iBaction из контроллера модала вызывает сбой «нераспознанного селектора, отправленного в экземпляр».
Я воссоздал основную функциональность с этим кодом изолированным, и он запускает ту же ошибку. Чтобы увидеть, о чем я говорю, вы можете Загрузите тестовый проект здесь.
Я уверен, что я просто упускаю что -то простое здесь. Любая помощь будет очень оценена.
Решение
При отображении вашего ModalViewController в TestViewController DisplayModal:, вы отпускаете свой ModalController (строка 20). Не делайте этого - вам нужен ViewController, чтобы остаться в живых. Если вы его выпустите, только представление сохраняется (так как он сохраняется при добавлении в виде подвеса).
Кроме того, в ModalViewController Hidemodaled вы выпустили ModalView, который вы не сохранили, поэтому я бы тоже удалил его.
Так что теперь вам нужно выпустить только экземпляр ModalViewController после удаления представления. Вы можете сделать это с помощью [самооценка]; В Hidemodaled, но это, кажется, необычная модель, и я не чувствую себя хорошо, делая это.
Некоторые предложения:
- Держите шоу и скрыть методы в том же классе.
- Держите ivar с контроллером.
- Другая возможность: вообще удалите ModalViewController и поместите все в TestViewController - но это во многом зависит от того, сколько действий будет продолжаться в реальной вещи.