这是我第一次在swift中使用delegate
。我有一个固定三行数的表格视图,每行对单元格都有一个单独的.xib
。
我根据我在单元格中获得的数据调整每个单元格的高度。因此,之前加载了tableView
并且之后加载了单元格,因此我在protocol
类中定义了UITableViewCell
。
以上CalenderTimeTableViewCell
课程I' ve:
protocol ReloadingTable {
func updateTableView()
}
在awakeFromNib()
上面的这个课程中,我是var myDelegate: ReloadingTable?
,在我获取数据的方法中(使用Alamofire),我正在呼叫self.myDelegate?.updateTableView()
。
在我viewController
tableView
中我首先扩展了课程ReloadingTable
,并在本课程中提到了我
func updateTableView() {
tableView.reloadData()
}
通过应用断点,代码确实转到self.myDelegate?.updateTableView()
,但未调用viewController
updateTableView
方法。
答案 0 :(得分:0)
@vadian已评论过您应该将目标类分配给myDelegate
cellForRowAt函数中的将目标类分配给我的委托
func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCell(withIdentifier: "Cell") as! CalenderTimeTableViewCell
cell.myDelegate = self
//Other
}