C'è qualche modo a scartare un valore facoltativo:Se let var - Unwrapping valore opzionale
// 1st way
var str: String? = "Hello, playground"
if let strUnwrapped = str {
// strUnwrapped is immutable
println(strUnwrapped)
}
// 2nd way
var str: String? = "Hello, playground"
if var strUnwrapped = str {
// strUnwrapped is mutable
strUnwrapped = "Toldino"
println(strUnwrapped)
}
Ma di recente ho provare questa successiva ...
// The strangest one
var str: String? = "Hello, playground"
if let var strUnwrapped = str {
// strUnwrapped is mutabe
strUnwrapped = "yolo"
println(strUnwrapped)
}
si può spiegare a me perché fa funziona ? È un bug o una funzionalità?
EDIT
Come niñoscript Detto questo, era un bug.
È stato risolto in Swift 2.0, l'ho provato con la nuova versione e non si compila più.
Ora Xcode lanciare questa seguente errore per "se lasciare var"
Apparentemente consente di utilizzare qualsiasi due 'se lasciare che lascia ...', 'se lasciare che var ...', 'se var let ... ', e' se var var ... '. Il secondo 'var' o' let' controlla la mutabilità. Mi sembra uno strano errore di sintassi non segnalato. – vacawama