gpt4 book ai didi

ios - 必须调用父类(super class) 'UICollectionView' 的指定初始化程序

转载 作者:塔克拉玛干 更新时间:2023-11-01 21:18:19 27 4
gpt4 key购买 nike

尝试初始化 Collection View 类并出现以下错误:

Must call a designated initializer of the superclass 'UICollectionView'

数据正在从另一个 ViewController 传递,我希望在用户搜索时从 ViewController 中绘制框架。

class searchLocationsCollectionViewManager: UICollectionView, UICollectionViewDataSource, UICollectionViewDelegate {

weak var collectionView: UICollectionView! {
didSet {
collectionView.dataSource = self
collectionView.delegate = self
}
}

// Data handler
var data: [[String:Any]]? {
didSet {
print(data!)
//collectionView.reloadData()
}
}

init(collectionView: UICollectionView, frame: CGRect) {
self.collectionView = collectionView
super.init()
}

required init(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)!
}



func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}

func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 3
}

// This is the current method for returning the cell.
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {




return UICollectionViewCell()

}

关于为什么会发生上述情况有什么想法吗?

最佳答案

你需要调用指定的初始化器init(frame:collectionViewLayout:)UICollectionView

init(collectionView: UICollectionView, frame: CGRect) {        
self.collectionView = collectionView
//Setup collectionView layout here and pass with init
let layout = UICollectionViewLayout()
super.init(frame: frame, collectionViewLayout: layout)
}

关于ios - 必须调用父类(super class) 'UICollectionView' 的指定初始化程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41999568/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com