如何获得自定义单元格并通过indexpath - swift3使用它的自定义项目?

时间:2018-03-22 09:19:11

标签: ios swift uitableview tableview

我有一个问题需要我的定制单元格 我使用我的自定义单元格项会收到错误 我怎么了?

let insertIndexPath = IndexPath(row: self.contents.count-1, section: 0)

   var cell = self.tableView.cellForRow(at: insertIndexPath)

        if cell is MyTextTableViewCell {

        cell = MyTextTableViewCell() as MyTextTableViewCell
        cell.checkImageView.isHidden = true //error here
        cell.warningButton.isHidden = true //error here

      }else if cell is MyImageTableViewCell {

          cell = MyImageTableViewCell() as MyImageTableViewCell
          cell.checkImageView.isHidden = true //error here
          cell.warningButton.isHidden = true //error here
      }

这样的错误:

  

'UITableViewCell'类型的值?没有成员'checkImageView'

2 个答案:

答案 0 :(得分:0)

您正在使用自定义单元格类来确保单元格实例是否属于该特定类。

实际上,您需要使用if-let块创建自定义单元格类的实例。

试试这个,看看:

let insertIndexPath = IndexPath(row: self.contents.count-1, section: 0)

if let cell = self.tableView.cellForRow(at: insertIndexPath) as? MyTextTableViewCell {
    cell.checkImageView.isHidden = true 
    cell.warningButton.isHidden = true 

} else if let cell = self.tableView.cellForRow(at: insertIndexPath) as? MyImageTableViewCell {

    cell.checkImageView.isHidden = true 
    cell.warningButton.isHidden = true 
} else if let cell = self.tableView.cellForRow(at: insertIndexPath) {

    print("cell description -- \(cell.description)")
}

答案 1 :(得分:-2)

这样做:

config.js