gpt4 book ai didi

ios - 自定义UITableViewCell是否需要使用reuseIdentifier注册?

转载 作者:行者123 更新时间:2023-11-30 12:12:17 24 4
gpt4 key购买 nike

我在 Swift 3 中有一个自定义 UITableViewCell(我们称之为 MyCustomTableViewCell),它有一个标识符“CustomCell”。

如果我使用自定义单元格而不注册它以供重用,则它可以正常工作

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

let cell = tableView.dequeueReusableCell(withIdentifier: "CustomCell", for: indexPath) as! MyCustomTableViewCell

return cell
}

如果我尝试通过以下方式注册它以供重复使用

override func viewDidLoad() {
super.viewDidLoad()

myUITableViewThatIsIBOutlet.register(MyCustomTableViewCell.self, forCellReuseIdentifier: "CustomCell")
}

当我尝试访问该表时,出现“ fatal error :展开可选值时意外发现 nil”,并且自定义单元格中的 UILabels 显示为“nil”(这可能是导致 fatal error 的原因)。

注册自定义单元时我是否做错了什么,或者我是否应该不注册自定义单元以供重用?

最佳答案

是的,如果您使用:

tableView.dequeueReusableCell(withIdentifier:

在您的示例中,您是否可以将自定义标识符添加到 Storyboard中的原型(prototype)单元中?这可以解释为什么它无需手动注册即可工作。您需要注册一个自定义单元,以便可以将其出列,并且任一方法都有效。您不需要两者。

如果不清楚,请提供更多信息。我很乐意更新我的答案。

关于ios - 自定义UITableViewCell是否需要使用reuseIdentifier注册?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45905562/

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