我试图在我的项目中使用tableview的自定义tableview单元格。现在我已经让tableview使用我创建的自定义单元格类。我用XIB做手机。
但现在的问题是,我想添加一个渐变层&一个额外的标签作为我的单元格类的属性,我想让它们初始化。我在init()中为这些属性编写代码,如下所示

override init(){
//Code to initialize the properties of cell
.....
super.init()
}

我也有所需的init(),如下所示
required init(coder aDecoder: NSCoder) {
    fatalError("init(coder:) has not been implemented")
}

但它不工作,只是在必需的init()处给出一个错误。
我知道如何在Objective-C中完成这项工作,但不知道如何在swift中完成这项工作。请给我一些如何完成这项工作的建议。
编辑:是的,我确实尝试在awakeFromNib()中初始化属性,在那里我得到一个错误,说我不能在self中分配属性。在init(编码器:)中,我也无法初始化属性。
提前谢谢:)

最佳答案

你的密码有问题。我创建了新的项目,通过nib创建了自定义UITableViewCell,并放置了这样的代码,它工作得很好:

override func awakeFromNib() {
    super.awakeFromNib()
    self.textLabel.text = "testing cells";
    self.detailTextLabel?.text = "text";
}

你在表视图中注册了cell的nib吗?
self.tableView.registerNib(UINib(nibName: "TableViewCell", bundle: nil), forCellReuseIdentifier: "Cell");

在Interface Builder中也对nib进行了正确的配置吗?是否将UITableViewCell类更改为自定义类?

10-05 20:34
查看更多