【发布时间】:2015-09-21 19:56:03
【问题描述】:
谁能告诉我如何在 UISwitch 的动作函数中获取其类中的单元格的索引,更具体地说,它是 uitableViewCell。 我做了以下..
var cell = sender.superview?.superview as UITableViewCell
var table: UITableView = cell.superview as UITableView
let indexPath = table.indexPathForCell(cell)
但随后它崩溃了。 解决办法是什么?
【问题讨论】:
-
它在哪一行崩溃?错误说明了什么?
-
它说:“Swift 动态转换失败”。如果我只写第一行投射到 uitableVewCell,它就会崩溃。即使我写 { var cell = sender.superview as UITableViewCell } 它也会崩溃
-
你不应该这样做,一个单元格不应该知道它在 tableView 中的索引是什么。但是,如果以某种方式可行,您可能希望将“self”从单元格传递到 tableView 方法中。
-
在
func tableView(_ tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell中配置单元格时,配置一个闭包作为调用开关时的操作。 Read this -
@JMFR 然后,如何从自定义单元格类中调用此闭包?