我试图在我的项目中使用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类更改为自定义类?