类型' UITableViewCell'的价值没有成员 - 静态表Swift 3

时间:2017-03-09 18:38:41

标签: uitableview swift3

我想从静态UITableViewController中的单元格创建一个标头。 tableView控制器包含5个静态单元格  在第一个单元格中,我删除了4个标签,创建了一个类CustomHeader。 在viewForHeaderInSection中,我收到错误Value of type 'UITableViewCell' has no member。我知道如果我使用原型单元格,我可以使用tableView.dequeueReusableCell,但我不知道如何在静态表格中使用它。

import UIKit

class CustomHeader: UITableViewCell {

  @IBOutlet weak var dateHeaderlabel: UILabel!
  @IBOutlet weak var hourHeaderlabel: UILabel!
  @IBOutlet weak var totalHoursHeaderlabel: UILabel!
  @IBOutlet weak var priceHeaderlabel: UILabel!

override func setSelected(_ selected: Bool, animated: Bool) {
    super.setSelected(selected, animated: animated)
  }
}


class ManagedTable: UITableViewController,UITextFieldDelegate{

  override func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {


    let index = tableView.indexPathsForVisibleRows?.first
    let  headerCell = tableView.cellForRow(at: index!)

// I get error on the next 4 lines Value of type 'UITableViewCell' has no    
     // member dataHeaderlabel...etc

    headerCell.dateHeaderlabel.text = StructS.headerDate
    headerCell.hourHeaderlabel.text = StructS.headerHours + " " + "-"
    headerCell.totalHoursHeaderlabel.text = String("\(Double(StructS.numberHours) + StructS.extrasHours) HOURS")
    headerCell.priceHeaderlabel.text = String("£\(StructS.price + StructS.totalExtras +  FullData.finalSuppliesAmount)")

    headerCell.backgroundColor =  UIColor(red: 230/255, green: 230/255, blue: 230/255, alpha: 1.0)
    return headerCell
  }
}

1 个答案:

答案 0 :(得分:1)

尝试if let headerCell = tableView.cellForRow(at: index!) as? CustomHeader,然后将headerCell成员变量的所有其余代码放在该块中。您似乎没有将headerCell作为自定义类投射。

还要确保按预期设置index