Swift Language Inicializadores en extensiones


Ejemplo

Las extensiones pueden contener inicializadores de conveniencia. Por ejemplo, un inicializador failable para Int que acepta un NSString :

extension Int {
    init?(_ string: NSString) {
        self.init(string as String)  // delegate to the existing Int.init(String) initializer
    }
}

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

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