ios - 我应该在变量中使用 weak self 吗?

标签 ios swift memory-management

我遇到过我的属性 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/

相关文章:

从 iOS App (Swift) 请求时 PHP 没有响应

ios - 在扩展中创建便利 init 时为 `Ambiguous reference to member`

c - C中包含结构的结构中的字节分配

ios - 许多 UIImageView 的内存管理

iphone - 如何在 UIView 中添加带坐标的图像?

ios - 从 sqlite3 表中提取数据

swift - 声明文本字段变量在 if 语句中多次工作 (swift4)

ios - 使用 Swift 在 iOS 聊天应用程序中查看表情符号

c++ - 为什么在 C++ 中使用动态分配的内存时我的编译器会报错

ios - for 循环中的 findObjectsInBackgroundWithBlock 在循环结束后运行,因此我无法访问基于迭代计数器的数组元素