我创建了一个名为xxxtableviewdelegate的新类,我把uitableviewdelgate和uitableviewdatasource放到这个类中,之后,我做了
tableView1?.delegate = tableView1Delegate
tableView1?.dataSource = tableView1Delegate
但委托方法
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell
和
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath)
没有打电话,请帮帮我
这些是详细代码
let tableView1Delegate = ArticleTableViewDelegate()
tableView1Delegate.cellIdentifier = cellIdentifier
tableView1Delegate.headerIdentifier = headerIdentifier
tableView1Delegate.sectionTitleArray = self.getSectionData()
tableView1Delegate.cellDatasource = self.getData()
tableView1 = UITableView(frame: CGRect.init(x: 0, y: 0, width: zkj_width(object: mainScrollView!), height: zkj_height(object: mainScrollView!)), style: .plain)
mainScrollView?.addSubview(tableView1!)
tableView1?.delegate = tableView1Delegate
tableView1?.dataSource = tableView1Delegate
tableView1?.separatorStyle = .none
tableView1?.register(ArticleTableViewCell.classForCoder(), forCellReuseIdentifier: cellIdentifier)
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell: ArticleTableViewCell = tableView.dequeueReusableCell(withIdentifier: cellIdentifier!, for: indexPath) as! ArticleTableViewCell
return cell
}
func tableView(_ tableView: UITableView, willDisplay cell: UITableViewCell, forRowAt indexPath: IndexPath) {
let aCell = cell as! ArticleTableViewCell
let model: ArticleModel = cellDatasource![indexPath.row] as! ArticleModel
aCell.setModel(articleModel: model)
}
答案 0 :(得分:2)
看起来tableView1Delegate
有范围问题,请确保它被声明为类实例而不是函数内部。
class YOUR_CONTROLLER {
var tableView1Delegate : xxxtableviewdelegate
func YOUR_FUNCTION {
tableView1 = xxxtableviewdelegate()
tableView1?.delegate = tableView1Delegate
tableView1?.dataSource = tableView1Delegate
}
}
答案 1 :(得分:0)
创建xxxtableviewdelegate类的对象。并将委托分配给该对象。
var object = xxxtableviewdelegate()
yourTableview.datasourse = object
yourTableview.delegate = object
你应该已经在你的类中实现了UITableViewDataSource,UITableViewDelegate协议。
class xxxtableviewdelegate: NSObject,UITableViewDataSource,UITableViewDelegate {
}