在UITableViewCell中设置数据

时间:2018-07-17 22:05:58

标签: ios swift uitableview

我尝试使用UITableViewCell。我的自定义单元格具有StackView和其他视图。 我需要从控制器(UITableViewController)发送对象以进行下一步解析。  在“单元格我设置”字段中:

  class MyCell: UITableViewCell {

    var myObject : MyObject?



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

        super.init(style: style, reuseIdentifier: reuseIdentifier)

      in this I try get data from my object 



    }



}


    required init?(coder aDecoder: NSCoder) {

        fatalError("init(coder:) has not been implemented")

    }



    override func awakeFromNib() {

        super.awakeFromNib()

        // Initialization code

    }


}

在我的控制器中,我写:

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

        // create a new cell if needed or reuse an old one
        let cell = self.tableView.dequeueReusableCell(withIdentifier: cellReuseIdentifier) as MyCustomCell!

        cell.myObject  = self.arrayMyObjects[indexPath.row]

        return cell
    }

但是每次我的牢房里没有零钱时。为什么?

1 个答案:

答案 0 :(得分:1)

在您的牢房init中尝试访问myObject的时间早了。在为属性分配了新值后,应该在属性上使用didSet进行更改。

var myObject : MyObject? {
    didSet {
        // Update your subviews here.
    }
}