我尝试使用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
}
但是每次我的牢房里没有零钱时。为什么?
答案 0 :(得分:1)
在您的牢房init
中尝试访问myObject
的时间早了。在为属性分配了新值后,应该在属性上使用didSet
进行更改。
var myObject : MyObject? {
didSet {
// Update your subviews here.
}
}