Что я пытаюсь сделать:
- Отображение модального вида, где я получаю некоторый пользовательский ввод
- Показать еще один и получить больше ввода
- Делать некоторые вещи с помощью ввода 1. и 2.
Проблема заключается в следующем: presentModalViewController: animated: is неблокирующий . Это означает, что я не могу просто выполнить шаги 1.-3. последовательно.
Как я пытался ее решить:
ViewController0 создает ViewController1 и дает ему ссылку на себя, а затем представляет presentModalViewController: animated :. ViewController1 соберет пользовательский ввод, затем вызовет метод для ViewController0 (он имеет ссылку). Этот метод создаст ViewController2 и сделает то же самое, что и первый. ViewController2 также вызовет метод для ViewController0 (может даже быть тем же). Теперь ViewController0 имеет все данные (или должен) и может перейти к шагу 3.
Проблема с этим подходом:
- Это похоже на ужасный взлом (там имеет , чтобы быть лучшим способом сделать это).
- Это не работает . :-) Проблема в том, что ViewController0 пытается отобразить ViewController2. Это даже не будет отображаться. Мое предположение (я новичок в программировании на iPhone, но раньше занимался программированием на Windows), что эта операция выполняется не сразу, а где-то для дальнейшей обработки (аналогично очереди сообщений WIN32), и поэтому она как-то конфликтует операция удаления ViewController1!
Итак, есть идеи, как я могу решить эту проблему проще или заставить ее работать таким образом?