【发布时间】:2020-01-31 17:50:31
【问题描述】:
我需要 UIButton 来拥有 bookId 属性。我尝试了以下代码,但它给了我错误Property 'self.bookId' not initialized at super.init call。当单击按钮时,我需要该属性能够在数据库中查询该特定 bookId。
import UIKit
class BookUIButton: UIButton {
var bookId: String
init(frame: CGRect, bookId: String) {
super.init(frame: frame);
self.bookId = bookId
}
required init?(coder aDecoder: NSCoder) {
super.init(coder: aDecoder)
}
override init(frame: CGRect) {
super.init(frame: frame)
}
override func awakeFromNib() {
super.awakeFromNib()
//TODO: Code for our button
}
}
任何帮助将不胜感激!!!
【问题讨论】:
-
去掉
init(frame:)的实现,在init(coder:)中给bookId一个默认值。通常,该错误告诉您必须在您拥有的每个初始化程序中初始化您的属性。 -
我相信这在另一篇 StackOverflow 文章中得到了回答:Here