存储对UITableView单元的弱引用而不会导致内存泄漏

我认为我正确理解了weak关键字,但想快速了解一下我没有做错什么。

我想存储对特定UITableViewCell的引用,以便可以在需要时调用函数或编辑值。现在,我不需要一直在屏幕上编辑值,因此不需要在任何时候都保留单元的硬拷贝。我所做的如下:

class customTableViewCell: UITableViewCell {
  var variable1: String?

  func doAThing(index: Int) {
    self.variable1 = "did a thing"
  }
}

class MainView: UIView {
  weak var cellToManipulate: CustomTableViewCell?

  func manipulateCell() {
    self.cellToManipulate?.doAThing(index: 1)
  }
}

显然会有一个tableview及其它涉及的所有其他内容,但是如果我存储一个对单元格的弱引用,当tableview滚动向右时,它将从内存中删除并设置为nil? 除了forEach遍历visibleCells数组中的每个项目之外,是否还有更好的方法可以解决此问题?

lts0129 回答:存储对UITableView单元的弱引用而不会导致内存泄漏

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3137192.html

大家都在问