gpt4 book ai didi

ios - 为什么 UITableViewCells 在一行中可能为零?

转载 作者:行者123 更新时间:2023-11-30 13:29:58 25 4
gpt4 key购买 nike

我目前正在通过 Ray Wunderlich 的书学习 UITableView 的内部工作原理,并注意到在该协议(protocol)的函数体中,它使用可选绑定(bind)来创建单元格。

override func tableView(tableView:  UITableView , didSelectRowAtIndexPath indexPath: NSIndexPath) {
if let cell = tableView.cellForRowAtIndexPath(indexPath) {
if cell.accessoryType == .None {
cell. accessoryType = .Checkmark
} else {
cell.accessoryType = .None
}
}

tableView. deselectRowAtIndexPath (indexPath, animated: true )
}

可选绑定(bind)的概念对我来说仍然相当新,所以大声思考我假设每行中都有可能不会有一个单元格(即返回nil )

这就是我陷入困境的地方。在我的 Storyboard中,我有一个 TableView Controller 和一个原型(prototype)单元。我在 TableView 中拥有这个原型(prototype)单元这一事实是否应该确保无论创建多少行都会创建一个原型(prototype)单元?

最佳答案

UITableViewfunc cellForRowAtIndexPath(_ indexPath: NSIndexPath) -> UITableViewCell? 方法被定义为返回一个可选值,这就是为什么你必须首先解开它。

根据the docs :代表表格单元格的对象,如果单元格不可见或indexPath超出范围,则为nil。

关于ios - 为什么 UITableViewCells 在一行中可能为零?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36680338/

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