我想知道我们是否可以创建一个动态函数来像这样动态访问单元格模板(xib 模板):
func create_image(TemplateName:??? = TemplateCell) {
var cell = self.tableView.cellForRow(at: currindexpath as IndexPath) as! TemplateName
}
我想传递带有 UITableViewCell 类名称的“TemplateName”:
class template1: UITableViewCell {
}
所以在那个参数上我可以传递我制作的任何模板单元格。那可能吗?对不起,如果难以解释。
最佳答案
一句话:没有。 Swift 并不像您希望的那样动态。 as!
之后唯一可以跟随的是实际的字面类型名称 — 而不是对您将传入变量或参数的类型的某种引用。
作为替代方案,您可以将单元格出列,然后询问单元格是什么类型,从而安全且明确地向下转换:
let cell = // ... dequeue the cell as a UITableViewCell
if let cell = cell as? MyTableViewCell {
// here, cell is a MyTableViewCell now
}
使用 switch 语句而不是 if
,您可以为所有不同的单元格子类执行此操作。
关于ios - 如何创建一个以 UITableViewCell 作为参数的函数?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47447450/