14. iOS state machine
IF (ОШИБКА) {
// обработка ошибки
} ELSE IF (ДАННЫЕ != NULL) {
// обработка данных
} ELSE {
// нет данных
}
ViewController
15. iOS state machine
IF (ОЖИДАНИЕ) {
// ждем данные
} ELSE IF (ОШИБКА) {
// обработка ошибки
} ELSE IF (ДАННЫЕ != NULL) {
// обработка данных
} ELSE {
// нет данных
}
ViewController
16. iOS state machine
IF (ОЖИДАНИЕ) {
IF (ПОВТОРНОЕ ОЖИДАНИЕ) {
// повторное ожидание
} ELSE {
// ждем данные
}
} ELSE IF (ОШИБКА) {
IF (СИСТЕМНАЯ ОШИБКА) {
// показать alert
} ELSE {
// показать toast
}
} ELSE IF (ДАННЫЕ != NULL) {
IF (ДАННЫХ НЕМНОГО) {
// обработка данных
} ELSE {
// обработка данных
}
} ELSE {
// нет данных
}
ViewController
36. iOS state machine
Создаем состояния
let waitingDataState = WaitingDataState()
let dataAvailableState = DataAvailableState()
let dataNotAvailableState = DataNotAvailableState()
let errorState = ErrorState()