gpt4 book ai didi

ios - 应该在 UITableViewCell 中调用 deinit 吗?

转载 作者:搜寻专家 更新时间:2023-10-30 22:11:30 26 4
gpt4 key购买 nike

我正在尝试查找我的 swift 应用程序中的内存问题。通过检查 deinit 是否被调用(例如委托(delegate)中的强引用)找到了一些,但是检查 UITableViewCell 或 UICollectionViewCell 我没有看到 deinit 从未被调用。

我有一个非常简单的单元格,我在其中使用:

  • 一些IB网点
  • 在 awakeFromNib 上设置 View (圆角半径)
  • 从带有客户端对象的 tableView 调用到设置 View 的 setClient 函数
  • prepareForReuse 重置一些 View 部分

更新:

检查 tableView 是否正在调用它 deinit 但它不是。所以 UIViewController 调用它的 deinit 但 tableView 仍在内存中。

更新 2:

发现问题。守卫 let 在辅助函数中保持对 tableView 的强引用。

最佳答案

由于 tableview 单元格被重用,它们往往只有在 tableview 本身被取消时才会被取消。因为即使现在不使用它们,tableview 也会让它们保持事件状态,以防需要重用它们。

关于ios - 应该在 UITableViewCell 中调用 deinit 吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37147150/

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