Ios Swift中函数声明中的预期标识符

Ios Swift中函数声明中的预期标识符,ios,swift,function,methods,Ios,Swift,Function,Methods,我正试图在自定义UIButton类上编写一个简单的init方法 但它说: 函数声明中需要的标识符 我的方法如下: override func init(frame: CGRect) { } 我搜索了大量关于此错误的答案,但没有成功。省略func: override init(frame: CGRect) { // ... } 省略func: override init(frame: CGRect) { // ... } 不能使用func关键字编写init。你需要这样写:

我正试图在自定义UIButton类上编写一个简单的init方法

但它说:

函数声明中需要的标识符

我的方法如下:

override func init(frame: CGRect) {

}

我搜索了大量关于此错误的答案,但没有成功。

省略
func

override init(frame: CGRect) {
    // ...
}

省略
func

override init(frame: CGRect) {
    // ...
}

不能使用
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")
  }
}
根据苹果文档:

实现初始值设定项的每个UIView子类必须包含
init?(编码器:)
的实现。Swift编译器知道这一点,并提供了一种修复方法,以在代码中进行此更改。编译器提供了修复错误的方法,作为代码中错误的潜在解决方案


不能使用
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")
  }
}
根据苹果文档:

实现初始值设定项的每个UIView子类必须包含
init?(编码器:)
的实现。Swift编译器知道这一点,并提供了一种修复方法,以在代码中进行此更改。编译器提供了修复错误的方法,作为代码中错误的潜在解决方案


我也试过了,然后它说required init?(coder aDecoder:NSCoder){fatalError(“init(coder:)尚未实现”)}是的,这意味着(令人惊讶!)您还必须实现该初始化器。:)我也试过了,然后它说required init?(coder aDecoder:NSCoder){fatalError(“init(coder:)尚未实现”)}是的,这意味着(令人惊讶!)您还必须实现该初始化器。:)