【发布时间】:2016-08-21 10:21:03
【问题描述】:
我正在尝试在我的自定义 UIButton 类上编写一个简单的 init 方法。
但它说:
函数声明中的预期标识符
我的方法如下,
override func init(frame: CGRect) {
}
我为此错误搜索了大量答案,但没有成功。
【问题讨论】:
标签: ios swift function methods
我正在尝试在我的自定义 UIButton 类上编写一个简单的 init 方法。
但它说:
函数声明中的预期标识符
我的方法如下,
override func init(frame: CGRect) {
}
我为此错误搜索了大量答案,但没有成功。
【问题讨论】:
标签: ios swift function methods
您不能使用 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 文档:
实现初始化器的每个 UIView 子类都必须包含
init?(coder:)的实现。 Swift 编译器知道这一点,并提供了一个修复它来在你的代码中进行这种更改。编译器提供 Fix-it 作为代码中错误的潜在解决方案。
【讨论】:
省略func:
override init(frame: CGRect) {
// ...
}
【讨论】: