需要帮助将新的存储属性添加到UITableView

时间:2019-06-04 19:53:23

标签: ios swift uitableview

我想将secondTag添加到UITableView作为存储的属性。

但是当我尝试扩展UITableView并像这样使用CustomTableView时:

func tableView(_ tableView: CustomTableView , numberOfRowsInSection section: Int) -> Int

tableView协议(UITableViewDelegateUITableViewDataSource)由于不遵循其要求而给我一个错误。

secondTag属性添加到UITabelView的方法有哪些? 我应该重写tableView协议吗? 我是否应该创建一个自定义tableView UITableViewDataSource,使其方法接受我的CustomTableView作为函数的参数类型?

1 个答案:

答案 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
}