У меня есть горизонтальное представление с прокруткой внутри ячейки UITableView, и я получаю такое же представление, как у Netflix.
В настоящее время я загружаю данные URL в свой контроллер представления, содержащий представление таблицы, и передаюмассив данных в UITableViewCell, который содержит collectionView, а затем отображает ячейки представления коллекции.
Но я чувствую нехватку элементов управления, использующих этот метод.Например, управление пользовательским интерфейсом, скрытие, отображение представлений в зависимости от загрузки и ошибки данных URL и т. Д.
Я пытался загрузить данные URL в ячейку табличного представления, и это прекрасно работает для меня, но я этого не делаюдумаю, что это уместно, поскольку только контроллеры должны контролировать все.
Закрытие, которое я использую для загрузки данных в мой контроллер, -
private func fetchData() {
let id = UserDefaults.standard.getUserId()
Service.shared.fetch(userId: id) { (data, error) in
DispatchQueue.main.asyncAfter(deadline: DispatchTime.now() + 0.5, execute: {
guard error == nil else {
print(error?.localizedDescription ?? "Error")
return
}
let result = data?.count != 0 ? "Success" : "Failure"
switch result {
case ResultType.Failure.rawValue:
print("Failure")
case ResultType.Success.rawValue:
if let data = data {
self.data = data
}
default: break
}
})
}
}
Назад кВопрос: нормально ли загружать данные внутри UITableViewCell, чтобы скрывать / показывать или анимировать UICollectionView внутри этого UITableViewCell?
Кроме того, предположим сценарий, в котором мне нужно загрузить 4-5 данных URL и выполнить рендеринг.их в каждой ячейке пользовательского табличного представления, которая может содержать или не содержать представление коллекции.
Сложно!