У меня есть три контроллера представления: VC1, VC2 и VC3, экземпляры которых создаются при запуске приложения.
Я хочу представить их модально в цикле, вот так:
VC1 -> VC2 -> VC3 -> VC1
На каждом контроллере представления я представляю следующий контроллер представления следующим образом:
[self presentModalViewController:nextViewController animated:TRUE];
Проблема в том, что когда я выполняю эту строку из VC3 для повторного представления первого контроллера представления VC1, приложение зависает и полностью перестает отвечать на запросы.
Как только эта строка выполняется Я вижу, как загрузка процессора Xcode подскочила с 0% до 99%, а объем памяти - с 20 МБ до 1 ГБ. Я даже не могу приостановить выполнение с помощью отладчика, могу только выйти из процесса.
Ошибок в консоли тоже нет.
В моем проекте больше ничего нет, только эти 3 контроллера представления, каждый из которых имеет кнопку для представления следующего контроллера представления в цикле.
Этот процесс навигации не поддерживается системой или я делаю что-то неправильно?
Я попробовал сделать то же самое, используя переходы в раскадровке, и это отлично сработало. Но мне нужно понять, почему он не работает, используя UIViewController.presentModalViewController.
По сути, это код для каждого контроллера представления:
#import "VC2.h"
@implementation VC2
- (IBAction)onNextButtonClicked:(id)sender {
[self presentModalViewController:_nextViewController animated:TRUE];
}
@end
Подробнее здесь: https://stackoverflow.com/questions/785 ... definitely