正确处理初始化失败的方法

Mar*_*elo 9 swift ios8

我正在寻找一种在初始化期间处理无效参数的正确方法.

我不确定如何使用Swift,因为init没有返回类型.我如何判断谁正在尝试初始化这个课程你做错了什么?

init (timeInterval: Int) {
    if timeInterval > 0
        self.timeInterval = timeInterval
    else
        //???? (return false?)
}
Run Code Online (Sandbox Code Playgroud)

谢谢!

jef*_*000 19

使用可用的初始化程序.这样的初始化程序看起来非常类似于常规指定的初始化程序,但有一个'?' 人物之后init,并允许返回nil.可用的初始值设定项创建可选值.

struct Animal {
    let species: String
    init?(species: String) {
        if species.isEmpty { return nil }
        self.species = species
    }
}
Run Code Online (Sandbox Code Playgroud)

有关更多详细信息,请参阅Apple有关可用初始化程序的文档.