Có một số cách để unwrap một giá trị tùy chọn:Nếu let var - Unwrapping giá trị tùy chọn
// 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)
}
Nhưng gần đây tôi thử nghiệm này sau một ...
// The strangest one
var str: String? = "Hello, playground"
if let var strUnwrapped = str {
// strUnwrapped is mutabe
strUnwrapped = "yolo"
println(strUnwrapped)
}
Bạn có thể giải thích cho tôi tại sao nó hoạt động? Đó là lỗi hoặc chức năng?
EDIT
Như niñoscript nói, đó là một lỗi.
Nó được giải quyết trong Swift 2.0, tôi đã thử nó với phiên bản mới và nó không biên dịch nữa.
Bây giờ Xcode ném lỗi này sau cho "nếu chúng ta hãy var"
Nó rõ ràng cho phép bạn sử dụng bất kỳ hai 'nếu chúng ta hãy để cho ...', 'nếu chúng ta hãy var ...', 'nếu var cho ... ', và' nếu var var ... '. 'Var' hoặc' let' thứ hai điều khiển khả năng biến đổi. Có vẻ như một lỗi cú pháp không được báo cáo lạ đối với tôi. – vacawama