Это некоторый API Fetch Code, и он успешно возвращает данные, но reloadData()
вызывается только когда я устанавливаю точки останова. Если я удаляю точки останова, он просто выводит UIView под моим табличным представлением в отладчике представления вместо моих пользовательских ячеек. (Жилье для размещения)
API.shared.fetchAccomodations(completion: { (accResponse, error) in
if let err = error {
print("Failed to fetch accommodation information ::" , err.localizedDescription)
}
if let response = accResponse {
self.accomodationsData = response
DispatchQueue.main.async {
print(self.accomodationsData.count, self.accomodationsData)
self.tableView.reloadData()
}
}
}, tokenURL: accomodationsURL)
Я использую две таблицы. Это методы табличного представления, где я использую if else для обоих табличных представлений.
if tableView == courseInfoTableView {
return numberOfCourses
}
else {
return accomodationsData.count
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
if tableView == courseInfoTableView {
if let cell = tableView.dequeueReusableCell(withIdentifier: "courseCell", for: indexPath) as? CourseInfoCell {
cell.durationLabel.text = "General English"
cell.durationLbl.text = "1-4 Weeks"
cell.priceLbl.text = "1500 SAR"
} else if tableView == self.tableView {
if let cell = tableView.dequeueReusableCell(withIdentifier: "AccomodationCell", for: indexPath) as? AccomodationCell {
cell.titleLabel.text = AccomodationsData[indexPath.row].residenceName
cell.subtitleLabel.text = AccomodationsData[indexPath.row].residenceType
cell.bedImage.image = #imageLiteral(resourceName: "DoubleBed")
return cell
}
}
}
return UITableViewCell()
}
При запуске я устанавливаю оба ограничения высоты табличных представлений программно, потому что они находятся в представлении прокрутки.
override func viewWillLayoutSubviews() {
super.viewWillLayoutSubviews()
tableViewHeight.constant = tableView.contentSize.height
InfoTVHeight.constant = courseInfoTableView.contentSize.height
}