我试图更新表视图上的单元格,但单元格没有读取我传递并返回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)
    }
}

最佳答案

您需要像这样修改outlet并连接到MyCell class的接口生成器。

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

关于ios - tableview不读标签,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/45929178/

10-12 03:50