当我尝试在UIView中使用CollectionView时,出现了问题。
这是我的视图的代码示例。
class CampanasView: UIView, UICollectionViewDelegate, UICollectionViewDataSource {
@IBOutlet weak var collectionView: UICollectionView!
class func create() -> CampanasView {
let nib = UINib(nibName: "CampanasView", bundle: nil)
let view = nib.instantiate(withOwner: self, options: nil)[0] as? CampanasView
//if you use xibs:
view?.collectionView.register(UINib(nibName: "CampanaCell", bundle: nil), forCellWithReuseIdentifier: "CampanaCell")
view?.collectionView.reloadData()
return view!
}
func numberOfSections(in collectionView: UICollectionView) -> Int {
return 1
}
func collectionView(_ collectionView: UICollectionView, numberOfItemsInSection section: Int) -> Int {
return 20
}
func collectionView(_ collectionView: UICollectionView, cellForItemAt indexPath: IndexPath) -> UICollectionViewCell {
let cell = collectionView.dequeueReusableCell(withReuseIdentifier: "CampanaCell", for: indexPath) as! CampanaCell
return cell
}
}
这是xib文件
在我的ViewController中,我有以下代码将UIView添加到ViewController中
var campanasView: CampanasView?
override func viewDidLoad() {
super.viewDidLoad()
self.campanasView = CampanasView.create()
_ = JAutolayouts.fillContainer(self.contentView, view: self.campanasView!)
}
这是一个错误。
由于发送给类0x10beac100的未识别选择器,终止应用程序,原因为:'+[WinUp.CampanasView collectionView:numberOfItemsInSection:]'