在惰性初始化中访问继承的对象 swift
Accessing inherited objects in lazy initializing swift
只是想知道为什么在延迟初始化时无法访问继承对象collectionView:
class FunCollectionLayout : UICollectionViewFlowLayout {
var middleSection:Int = {
let sectionCount = self.collectionView!.numberOfSections()
return sectionCount/2
}()
func testFunc() {
print((self.collectionView?.numberOfSections())! / 2)
}
}
错误是:
Value of type 'NSObject -> () -> FunCollectionLayout' has no member 'collectionView'
您只是缺少 lazy
声明属性。
lazy var middleSection:Int = {
let sectionCount = self.collectionView!.numberOfSections()
return sectionCount/2
}()
但是你没有将其计算为 属性。
var middleSection: Int {
let sectionCount = self.collectionView!.numberOfSections()
return sectionCount / 2
}
保持动态,与 collectionView
保持同步,使其成为计算 属性。
只是想知道为什么在延迟初始化时无法访问继承对象collectionView:
class FunCollectionLayout : UICollectionViewFlowLayout {
var middleSection:Int = {
let sectionCount = self.collectionView!.numberOfSections()
return sectionCount/2
}()
func testFunc() {
print((self.collectionView?.numberOfSections())! / 2)
}
}
错误是:
Value of type 'NSObject -> () -> FunCollectionLayout' has no member 'collectionView'
您只是缺少 lazy
声明属性。
lazy var middleSection:Int = {
let sectionCount = self.collectionView!.numberOfSections()
return sectionCount/2
}()
但是你没有将其计算为 属性。
var middleSection: Int {
let sectionCount = self.collectionView!.numberOfSections()
return sectionCount / 2
}
保持动态,与 collectionView
保持同步,使其成为计算 属性。