В качестве попытки уменьшить код в моем контроллере основного вида я переформирую большинство функций на два дочерних контроллера представления.
В одном из дочерних контроллеров представления пользователи могут нажать на кнопку, которая вызвала ActionSheet. Моя первая попытка выполнить это действие -
- Два дочерних контроллера представления подключены к родительскому контроллеру представления в раскадровке
- Создать свойство делегата в дочернем контроллере представления 1.
- В prepareForSegue родительского контроллера представления проверьте, совпадает ли segue.identifier с контроллером дочернего представления, затем назначьте родительский контроллер представления в качестве делегата дочернего контроллера представления
- Согласуйте родительский контроллер представления с протоколом, метод которого принимает контроллер представления в качестве параметра
- Когда пользователь нажимает на кнопку в дочернем контроллере представления 1, вызывается функция делегата, которая передает дочерний контроллер представления 1 функции делегата и вызывает лист действий в родительском контроллере представления
- После того, как пользователи выполнили действие, свойство дочернего контроллера представления обновляется
При попытке запуска появляется следующая ошибка: Warning: Attempt to present <UIAlertController: 0x7f9bb6029200> on <BudgetSmart.TransactionListViewController: 0x7f9bb5d298b0> while a presentation is in progress!
Я пытался: 1. отменить просмотр контроллера, 2. вызвать лист действий от chil. d Просмотр контроллера, но ошибка не устранена. Указывает ли контроллер представления в представлении на дочерний контроллер представления? Если да, какой должен быть подход к решению этой проблемы? Спасибо!