gpt4 book ai didi

swift - 在延迟初始化 swift 中访问继承的对象

转载 作者:行者123 更新时间:2023-11-30 10:03:51 25 4
gpt4 key购买 nike

只是想知道为什么我在延迟初始化时无法访问继承的对象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保持同步,使其成为计算属性。

关于swift - 在延迟初始化 swift 中访问继承的对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37149348/

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