tableview不读标签

时间:2017-08-29 00:50:14

标签: ios swift uitableview

我正在尝试更新表视图中的单元格,但单元格没有读取我传递的文本并返回nil。

override func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
    let myCell = tableView.dequeueReusableCell(withIdentifier: "cellId", for: indexPath) as! MyCell
    let item = self.items[indexPath.row]
    myCell.nameLabel?.text = item as? String
    print( self.items[indexPath.row])
    myCell.myTableViewController = self
    return myCell
}

class MyCell: UITableViewCell {
    var myTableViewController: ChangeFeedViewController!

    override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
        super.init(style: style, reuseIdentifier: reuseIdentifier)
    }

    required init?(coder aDecoder: NSCoder) {
        fatalError("init(coder:) has not been implemented")
    }

    @IBOutlet weak var nameLabel: UILabel! = {
        let label = UILabel()
        label.text = "Any Label"
        return label
    }()

    @IBOutlet weak var actionButton: UIButton! = {
        let button = UIButton()
        button.setTitle("Action", for: .normal)
        return button
    }()

    @IBAction func buttonHandleAction(_ sender: Any) {
        handelAction()
    }

    func handelAction(){
        myTableViewController.deleteCell(cell: self)
    }
}

1 个答案:

答案 0 :(得分:1)

您需要像这样修改outlet并连接到MyCell class的界面构建器。

@IBOutlet weak var nameLabel: UILabel!
@IBOutlet weak var actionButton: UIButton!