将可选字符串转换为int时遇到麻烦.
println("str_VAR = \(str_VAR)") println(str_VAR.toInt())
结果是
str_VAR = Optional(100) nil
我想要它
str_VAR = Optional(100) 100
你可以用这种方式解开它:
if let yourStr = str_VAR?.toInt() { println("str_VAR = \(yourStr)") //"str_VAR = 100" println(yourStr) //"100" }
有关详细信息,请参阅THIS.
何时使用“if let”?
如果let是Swift中的一个特殊结构,它允许你检查一个Optional是否包含一个值,并且如果它确实存在 – 用unwrapped值做一些事情.我们来看一下:
if let yourStr = str_VAR?.toInt() { println("str_VAR = \(yourStr)") println(yourStr) }else { //show an alert for something else }
if let结构展开str_VAR?.toInt()(即检查是否存储了值并获取该值)并将其值存储在yourStr常量中.您可以在if的第一个分支内使用yourStr.请注意,如果您不需要使用内部?要么 !了.重要的是要意识到你的实际上是Int类型,它不是一个可选类型,所以你可以直接使用它的值.