Swift扩展程序中的初始化程序

示例

扩展可以包含便捷初始化程序。例如,一个失败的初始化器Int接受NSString:

extension Int {
    init?(_ string: NSString) {
        self.init(string as String)  // 委托给现有的Int.init(String)初始化程序
    }
}

let str1: NSString = "42"
Int(str1) // 42

let str2: NSString = "abc"
Int(str2) // 零