我认为我正确理解了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数组中的每个项目之外,是否还有更好的方法可以解决此问题?