Если экран сам запускает запрос, хранит результат и переключается между загрузкой, ошибкой и контентом, интерфейс смешивается с сетевой логикой. Swift by Sundell сначала показывает эту схему на
ArticleView, а затем выносит загрузку и состояние в модель представления.Дальше появляются общий
LoadingState с четырьмя состояниями, протокол LoadableObject и универсальный AsyncContentView. Контейнер выбирает представление по состоянию источника, а экран только отрисовывает готовые данные.Материал написан для Swift 5.3 и уже помечен архивным: архитектурный приём полезен, но API стоит сверять с текущим SwiftUI. В статье Swift by Sundell есть код всех трёх вариантов.
