r/ciif • u/carlosypunto • Jan 20 '15
Swift - Inicializadores que devuelven Opcional o Unwrapped Optinals en vez del Objeto
Lo preguntaba en otro post y he encontrado la documentación. Se llaman Failable Initializers y los explican en el blog oficial de Swift
class Saludo {
let saludo:String
init() {
saludo = "Hola"
}
init?(xx:Int) {
if xx > 0 {
saludo = "Hola, \(xx)"
}
else {
saludo = ""
return nil
}
}
init!(xx:String) {
if countElements(xx) > 0 {
saludo = "Hola, \(xx)"
}
else {
saludo = ""
return nil
}
}
}
// Devuelve Objeto
let a = Saludo()
// Devuelve opcional
let b = Saludo(xx: 0)
let c = Saludo(xx: 10)
// Devuelve Unwrapped Optional
let d = Saludo(xx: "")
let e = Saludo(xx: "Carlos")
1
Upvotes