Вступить в клуб →
лёгкаявопросUIKit и SwiftUI: экраны и состояние

Баланс на экране профиля не обновляется при возврате назад

Экран профиля показывает баланс и загружает его в viewDidLoad. Пользователь переходит на экран пополнения, пополняет счёт и возвращается назад по кнопке «Назад» — на профиле по-прежнему старая сумма. Экран из стека навигации не выгружался.

Что здесь происходит и куда переносить загрузку?

  • Контроллер выгружается из памяти при переходе, поэтому баланс нужно сохранять в UserDefaults и читать оттуда
  • Причина в кеше URLSession: достаточно поставить политику reloadIgnoringLocalCacheData
  • viewDidLoad не вызывается при возврате, потому что контроллер пересоздаётся: нужно пересоздавать его вручную при push
  • viewDidLoad вызывается один раз при загрузке вью; свежие данные запрашивают в viewWillAppear

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела