如果 dequeueReusableCellWithIdentifier 在单元格离开屏幕后重新使用它们,这是否意味着在单元格上设置的实例变量将由于其新用法而被覆盖?
例如,如果我要在实例变量中缓存单元格的高度,如果稍后使用相同的单元格显示不同的数据项,那么单元格的高度是否会被覆盖?
是否应该将此数据存储在 TableView 中的数组中?
最佳答案
由于您确定的原因,您不能对在 UITableViewCells 中存储数据或属性做出任何假设 - 当单元格实例离开屏幕时,UIKit 可能会也可能不会从内存中释放单元格实例(假设它将消失)。
就像@hackmodford 评论的那样,专门存储有关某个单元格高度的信息的更好方法是通过tableViews UITableViewDataSource 中的数据结构对其进行管理。数组听起来很合适。
关于ios - dequeueReusableCellWithIdentifier 是否禁止单元格实例变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34022133/