我是Swift的新手,并试图习惯......
我在自定义UIButton类上尝试简单的init方法。
但它表示功能声明中的预期标识符
我的方法如下,
override func init(frame: CGRect) {
}
我搜索了大量错误的答案,但无法获得成功。
这有什么问题?
谢谢,
BR
答案 0 :(得分:2)
遗漏func
:
override init(frame: CGRect) {
// ...
}
答案 1 :(得分:1)
首先,您无法使用func关键字编写init
。你需要这样写:
class myButton: UIButton {
override init(frame: CGRect) {
super.init(frame: frame)
}
required init?(coder aDecoder: NSCoder) {
fatalError("init(coder:) has not been implemented")
}
}
根据Apple doc's
实现初始值设定项的每个UIView子类都必须包含init?(coder:)
的实现。 Swift编译器知道这一点,并提供了一个修复程序,可以在代码中进行此更改。修复 - 它由编译器提供,作为代码中错误的潜在解决方案。