我遇到过我的属性 getter 引用 self
的情况,我怀疑它会持有 self
并且永远不会释放它。你能不能解释一下我在这种情况下是否没有犯错?
private var storyboard: UIStoryboard {
get {
return UIStoryboard(name: "Login", bundle: Bundle(for: type(of:self)))
}
}
最佳答案
你没有犯错——计算属性只不过是一个美化的方法/一对方法。就其本身而言,不存在保留周期问题。
self
只是在调用计算属性的 getter 或 setter 时传递的隐式参数,并且将是访问属性的实例——它不由属性本身存储或捕获.
关于ios - 我应该在变量中使用 weak self 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43349380/