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

时间:2015-04-04 17:25:17

标签: ios swift xcode6 beta

最近我从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)
}

任何解决方案?

1 个答案:

答案 0 :(得分:2)

Swift初始化程序处理非常棘手且非常特别。您应该真正阅读语言文档中的Swift Initializers以了解您正在做的事情。

您可以拥有多个init方法,但必须遵守继承和层次结构规则。您需要明确了解所谓的convenience初始化程序。

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

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

编译器可能会抱怨,因为它认为你正在尝试创建但是做错了。