无法将类型 NSObject -() 类名的值分配给类型 uicollectionviewdelegate
Cannot assign value of type NSObject -() Classname to type uicollectionviewdelegate
我正在使用视图并在其中实现一个集合视图
当我尝试引用数据源并委托给我的 colelctionview 时出现错误
我的类文件
class MenuBar : UIView, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout{
let collectionView : UICollectionView = {
let layout = UICollectionViewFlowLayout()
let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
cv.backgroundColor = UIColor.rgb(red: 230, green: 32, blue: 31)
cv.delegate = self // Error here
return cv
}()
override init(frame: CGRect){
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
我无法将委托和数据源提供给我的集合视图
我也实现了以下两种方法
cellForItemAt indexPath
节数
如有帮助,我们将不胜感激
这是因为你试图在闭包中访问 self
lazy var collectionView : UICollectionView = {
[unowned self] in
let layout = UICollectionViewFlowLayout()
let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
cv.backgroundColor = UIColor.rgb(red: 230, green: 32, blue: 31)
cv.delegate = self // Error here
return cv
}()
这应该有效
我正在使用视图并在其中实现一个集合视图
当我尝试引用数据源并委托给我的 colelctionview 时出现错误
我的类文件
class MenuBar : UIView, UICollectionViewDataSource, UICollectionViewDelegate, UICollectionViewDelegateFlowLayout{
let collectionView : UICollectionView = {
let layout = UICollectionViewFlowLayout()
let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
cv.backgroundColor = UIColor.rgb(red: 230, green: 32, blue: 31)
cv.delegate = self // Error here
return cv
}()
override init(frame: CGRect){
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
我无法将委托和数据源提供给我的集合视图 我也实现了以下两种方法
cellForItemAt indexPath 节数
如有帮助,我们将不胜感激
这是因为你试图在闭包中访问 self
lazy var collectionView : UICollectionView = {
[unowned self] in
let layout = UICollectionViewFlowLayout()
let cv = UICollectionView(frame: .zero, collectionViewLayout: layout)
cv.backgroundColor = UIColor.rgb(red: 230, green: 32, blue: 31)
cv.delegate = self // Error here
return cv
}()
这应该有效