Мое приложение имеет три состояния:
- A) подключено к серверу
- B) подключено к Wi-Fi, но нет интернета
- C) нет соединения
Первое состояние - это режим работы приложения по умолчанию, а два других (B & C) представлены как контроллеры модального представления.При различных изменениях достижимости должно появиться правильное модальное представление.
К сожалению, в некоторых случаях B & C пытаются представить одновременно, или B отображается в настоящее время и может находиться в миллисекунде от закрытия,но C уже пытается показать себя.
Мой взлом решения состоит в том, чтобы в основном создать семафор с некоторыми делегатами для каждого модального представления - когда открывается модальное представление, он отправляет сообщение через делегата, чтобы перейти косновной вид, чтобы включить флаг.Затем, когда второй модальный вид пытается открыть, он видит, что первый включен, и ждет, пока он не выключится.Мне кажется, что это нелепый взлом, когда я пытаюсь создать очень простой конечный автомат.
Есть мысли?