objective-c - UITableView dequeueReusableCellWithIdentifier 是否唯一?

标签 objective-c ios uitableview

这听起来可能是个新手问题,但我是 iOS 开发新手,

我想了解何时应该为单元格使用 UNIQUE 标识符,何时不应该为

- (id)dequeueReusableCellWithIdentifier:(NSString *)identifier

实际上,我在很多地方都遇到过标识符不唯一的代码片段。

但在我的实践中,我使用了唯一标识符来保持 UITableViewCells 的顺序,否则当我上下滚动 UITableView 时顺序会混合。

所以请帮助我理解可重用单元格的概念,每个单元格不应该有唯一的标识符吗?

提前致谢

最佳答案

您应该只对不同类型的单元格使用不同的标识符。如果您的 TableView 有不同类别的单元格,这可能是您的问题,或者您已将 subview 添加到单元格中,这些 subview 的存在因单元格而异。

当使用标识符时,考虑一下您的单元格可能包含任何先前呈现的单元格数据的数据,因此您需要确保您的代码覆盖该数据,在最简单的情况下是 cell.textLabel.text。

关于objective-c - UITableView dequeueReusableCellWithIdentifier 是否唯一?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9516828/

相关文章:

ios - self.tableView.reloadData() 不调用 cellForRowAtIndexPath() Swift

iphone - Box2d - 赋予物体吸引力/重力

objective-c - ARC 中的假 va_list

ios dev - UIWebView 无法打开文件夹内的本地文件

ios - 更改 UITextField 占位符颜色

ios - SwiftUI:如何调整 UIViewRepresentable 输出的大小?

ios - iOS 8 中单个 UITableViewCell 上有 2 个多行标签

objective-c - 持久 '<class>' 可能无法响应 +method

ios - 将值从 UIView 传递到 UIVIewController

ios - 在 UITableViewCell 和 UITableView 之间添加 NSLayoutContraint