У меня есть представление коллекции, вложенное в табличное представление. Ячейки представления коллекции не загружаются. Я не могу установить delgate и dataSource представления коллекции в функции инициализации tableViewCell, потому что она разворачивается как nil, поэтому я создал функцию загрузки, которая вызывается для ее установки при загрузке ячейки. У меня сейчас проблема в том, что функции dataSource / delgate не вызываются, а ячейка табличного представления не загружается. Моя ячейка просмотра коллекции на данный момент является просто изображением, поэтому я не включил его. Кроме того, я проверил, что все эти выходы подключены правильно, и ячейка табличного представления и ячейка представления коллекции имеют идентификаторы повторного использования, установленные через конструктор интерфейса. Вот мой код:
Контроллер представления:
@IBOutlet weak var libraryTableView: UITableView!
override func viewDidLoad() {
super.viewDidLoad()
self.libraryTableView.dataSource = self
self.libraryTableView.delegate = self
// Do any additional setup after loading the view.
}
func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
return 1
}
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
guard let cell = tableView.dequeueReusableCell(withIdentifier: "LibraryTableViewCell", for: indexPath) as? LibraryTableViewCell else {
return LibraryTableViewCell()
}
cell.load()
return cell
}
Ячейка табличного представления:
@IBOutlet weak var carouselLabel: UILabel!
@IBOutlet weak var carousel: UICollectionView!
func load() {
layer.backgroundColor = UIColor.clear.cgColor
carouselLabel.text = "hello world"
carousel.delegate = self
carousel.dataSource = self
//carousel.reloadData()
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
guard let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "packCell", for: indexPath) as? PackCollectionViewCell else {
return PackCollectionViewCell()
}
return cell
}