调用中缺少参数 'coder' 的参数

Missing argument for parameter 'coder' in call

最近我从 Xcode 6.2 更新到 Xcode 6.3 beta 4 并打开了我的项目。我在 init() 上遇到以下错误:Missing argument for parameter 'coder' in call。这是我的 init() 方法:

public init(image: UIImage?) {
    super.init()
    commonInit(image)
}

有什么解决办法吗?

Swift 初始化处理是棘手且非常特殊的。您应该真正阅读语言文档中的 Swift Initializers 以了解您在做什么。

你可以有多个init方法,但你必须遵守继承和层次规则。而且你需要明确理解什么是 convenience 初始值设定项。

话虽如此,许多 类 需要至少一个 init 重载,如下所示:

init(coder aDecoder: NSCoder!)
{
    super.init(coder: aDecoder)
}

编译器可能会抱怨,因为它认为这就是您要创建的内容,但它做错了。