Вступить в клуб →
лёгкаявопросCombine: издатели, подписки и операторы

Таблица обновляется из цепочки dataTaskPublisher с задержкой и предупреждениями

URLSession.shared.dataTaskPublisher(for: url)
    .map(\.data)
    .decode(type: [Product].self, decoder: JSONDecoder())
    .replaceError(with: [])
    .sink { [weak self] products in
        self?.products = products
        self?.tableView.reloadData()
    }
    .store(in: &cancellables)

Main Thread Checker сообщает о работе с UIKit не из главного потока. Что добавить в цепочку?

  • .receive(on: DispatchQueue.main) перед sink
  • .subscribe(on: DispatchQueue.main) в начале
  • .receive(on: DispatchQueue.global()) перед sink
  • Ничего: sink всегда вызывается на главном

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

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

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

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