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

马塞洛

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

我不确定如何使用Swift执行此操作,因为init没有返回类型。我该如何告诉试图初始化此类的人您做错了什么?

init (timeInterval: Int) {
    if timeInterval > 0
        self.timeInterval = timeInterval
    else
        //???? (return false?)
}

谢谢!

jefe2000

使用失败的初始化器这样的初始化程序看起来与常规指定的初始化程序非常相似,但是有一个“?” 之后的字符,init并允许返回nil失败的初始化程序会创建一个可选值。

struct Animal {
    let species: String
    init?(species: String) {
        if species.isEmpty { return nil }
        self.species = species
    }
}

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

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章