Я не могу понять, почему этот "необязательный" не работает в сценарии 1, но без дополнительного? он работает в сценарии 2.
Использование Swift v 1.2, xCode 6.2
var stuff = "6t"
// SCENARIO 1
// Why is this failing when stuff contains non-digit characters?
// i.e. it works if stuff = "45".
if let value: Int? = stuff.toInt() {
println("value \(value!)")
}
// SCENARIO 2
// This works!
if let value = stuff.toInt() {
println("val3 \(value)")
}
Для справки также см. эти ответы: * Интересно, не является ли пример Sift 1.2/Answer здесь просто неправильным? Swift - Преобразование String в Int