当前位置: > > > Swift - 初始化方法返回nil表示初始化失败

Swift - 初始化方法返回nil表示初始化失败

自Swift1.1开始,初始化init方法便有返回nil的能力。我们可以在init声明的时候在其后面加上一个 ? 或者 ! 来表示初始化失败时可能返回nil。

比如,给Int类添加一个将字符串初始化成数字的init方法。
extension Int {
    init?(fromString: String) {
        if let i = fromString.toInt() {
            self = i
        }else{
            //提前返回
            return nil
        }
    }
}

//使用
let number1 = Int(fromString: "1234")  //1234
let number2 = Int(fromString: "two")  //nil
评论0