Вы вызываете функцию для нового экземпляра CollectionViewController
, поэтому получите все ноль ... получите текущий CollectionViewController
через делегата и вызовите goNetwork для этого существующего CollectionViewController
объекта
Напишите протокол как this
protocol CollectionHeaderViewDelegate {
func didTapButton()
}
Запись CollectionReusableView
класс с делегатом
class CollectionReusableView: UICollectionReusableView {
@IBOutlet weak var loadBtn: UIButton!
var delegate: CollectionHeaderViewDelegate?
@IBAction func loadmore(_ sender: Any) {
delegate?.didTapButton()
}
}
И в вашем основном классе контроллера, который является CollectionViewController
Запись этой функции
override func collectionView(_ collectionView: UICollectionView, viewForSupplementaryElementOfKind kind: String, at indexPath: IndexPath) -> UICollectionReusableView {
if (kind == UICollectionView.elementKindSectionFooter) {
let footerView = collectionView.dequeueReusableSupplementaryView(ofKind: kind, withReuseIdentifier: "LoadFooter", for: indexPath) as! CollectionReusableView
footerView.delegate = self
return footerView
}
fatalError()
}
Запись расширение CollectionViewController
и подтверждение его с помощью протокола
extension CollectionViewController: CollectionHeaderViewDelegate {
func didTapButton() {
goNetwork()
}
}
Теперь у вас есть goNetwork в вашем главном контроллере .... он будет загружать содержимое автоматически ...
спасибо