Таблица обновляется из цепочки 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 всегда вызывается на главном
