具有自定义UITableViewCell的单个ViewController中的多个UITableView

时间:2019-06-07 03:39:02

标签: ios swift

  1. 我在一个ViewController中实现了2个TableViews
  2. 一个TableView带有一个名为TreeViewCell的自定义单元格。另一个带有Basic UITableViewCell(两个单元格都有自己的TableView绘制在情节提要中)

问:在cellForRowAtIndexPath中返回自己的单元格时出现问题

enter image description here

enter image description here

1 个答案:

答案 0 :(得分:1)

像这样简单地在if语句中返回cell

func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {

    // get rid of the `var cell: UITableViewCell!`

    if tableView == tableViewUser {
        cell = tableViewUser.dequeuReusableCell(withIdentifier: "userCell", for: indexPath) as! TreeViewCell 
        cell.setNodeData(node: self.displayArray[indexPath.row])
        return cell 
    }

    if tableView == tableViewSearch {
        cell = tableViewUser.dequeuReusableCell(withIdentifier: "searchCell", for: indexPath) 
        cell.textLabel.text = "123456"
        return cell 
    }

    return UITableViewCell() // dont worry, you will never go there
}

还取消注释register tableViewUser上的didSet部分