У меня периодически возникает ошибка, которая возникает в моем приложении, и я наконец смог последовательно воспроизвести ее, имитируя предупреждение о памяти в определенном сценарии. Вот настройки.
Nav controller
(as tab inside --> Modal Controller 1 --> Modal Controller 2
Tab Controller)
Если я имитирую предупреждение памяти, когда на экране находится Modal Controller 2, Modal Controller 1 отключается, а нижний навигационный контроллер полностью выдвигается обратно в свой корень. Это именно то, что происходит в сообщенной ошибке.
Если пользователь затем нажимает кнопку «Готово» в MC2, он вызывает метод делегата в MC1, который завершается сбоем из-за того, что из-за предупреждения о памяти MC1 выгружается и освобождается.
В моем приложении есть другие места, где у меня есть навигационные контроллеры, представляющие цепочки контроллеров модального представления, но предупреждение о нехватке памяти вызовет эту проблему только в одной конкретной области моего приложения.
Есть ли что-нибудь, что может вызвать такое поведение? У меня нет конкретных примеров кода, потому что я не уверен, какой код вызывает проблему. Я был бы признателен за любые указатели на всех.