我想将secondTag
添加到UITableView
作为存储的属性。
但是当我尝试扩展UITableView
并像这样使用CustomTableView
时:
func tableView(_ tableView: CustomTableView , numberOfRowsInSection section: Int) -> Int
tableView协议(UITableViewDelegate
,UITableViewDataSource
)由于不遵循其要求而给我一个错误。
将secondTag
属性添加到UITabelView
的方法有哪些?
我应该重写tableView协议吗?
我是否应该创建一个自定义tableView UITableViewDataSource
,使其方法接受我的CustomTableView
作为函数的参数类型?
答案 0 :(得分:1)
在实现协议方法时,方法签名需要与协议中定义的类型匹配。协议方法需要UITableView
,因此请实现该函数签名,然后将其强制转换为函数内部的类型:
func tableView(_ tableView: UITableView , numberOfRowsInSection section: Int) -> Int {
guard let tableView = tableView as? CustomTableView else { return 0 }
// now you can access tableView.secondTag
}