自定义view的时候 ,为了使用 xib 和 纯代码创建。
注 : required init?(coder aDecoder: NSCoder) 必须加上 ,里面实现 super.init(coder: aDecoder)。
系统默认实现是 fatalError("init(coder:) has not been implemented") ,xib初始化的时候会crash。
override init(frame: CGRect) {
super.init(frame: frame)
setupUI()
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override func awakeFromNib() {
super.awakeFromNib()
setupUI()
}
TableViewcCell初始化时可以不用 在 required init?(coder aDecoder: NSCoder)中实现 super.init(coder: aDecoder) 直接用默认的就可以
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(style: UITableViewCellStyle, reuseIdentifier: String?) {
super.init(style: style, reuseIdentifier: reuseIdentifier)
createUI()
loadLayout()
}
override func awakeFromNib() {
super.awakeFromNib()
createUI()
loadLayout()
}
TableviewHeaderFooterView初始化时可以不用 在 required init?(coder aDecoder: NSCoder)中实现 super.init(coder: aDecoder) 直接用默认的就可以
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
override init(reuseIdentifier: String?) {
super.init(reuseIdentifier: reuseIdentifier)
createUI()
loadLayout()
}
override func awakeFromNib() {
super.awakeFromNib()
createUI()
loadLayout()
}
网友评论