美文网首页iOS Developer
Swift(六) - if语句强制解析和可选绑定

Swift(六) - if语句强制解析和可选绑定

作者: 冰三尺 | 来源:发表于2016-10-24 15:15 被阅读627次
95b1b6e56eea662994ab73006683ecf889357c58c3cc-QChNgT_fw658.jpeg

强制解析

可以使用 if 语句来判断一个可选的是否包含一个值。如果包含一个值,结果为 true ;否则 false。

如果你确定可选包含一个值,你可以在名称后面加惊叹号 ( ! ) 访问可选的值。惊叹号 ( ! )表示:“ 这个可选有值,请使用它。” 这就是所谓的 强制解析(forced unwrapping)可选的值。

if convertedNumber {
    println("\(possibleNumber) has an integer value of \(convertedNumber! )")
} else {
    println("\(possibleNumber) could not be converted to an integer")
}
// prints "123 has an integer value of 123"

注意:如果用 ! 来获取一个不存在的可选值会导致运行时错误。使用 ! 来强制解析值之前,一定要确定可选包含一个非 nil 的值(if判断一下)。

可选绑定

可选绑定(optional binding)用来判断可选是否包含值,如果包含就把值赋给一个临时常量或者变量。可选绑定一般用在 if 和 while 语句中,对可选的值进行判断并把值赋给一个常量或者变量。

if let  constantName  =  someOptional  {
     statements
}
if let actualNumber = possibleNumber.toInt() {
    println("\(possibleNumber) has an integer value of \(actualNumber)")
} else {
    println("\(possibleNumber) could not be converted to an integer")
}
// prints "123 has an integer value of 123"

这段代码表示:“ 如果 possibleNumber.toInt 返回的可选 Int 包含一个值,创建常量 actualNumber,并将可选包含的值赋给它。”
如果转换成功,actualNumber 常量可以在 if 语句的第一个分支中使用。actualNumber已经被初始化,所以不需要再使用 ! 获取它的值。在这个例子中,actualNumber用来输出转换结果。
你可以在可选绑定中使用常量和变量。如果你只想在if语句的第一个分支中使用actualNumber的值,你可以改成 if var actualNumber,这样可选包含的值就会被赋给一个变量而非常量。

相关文章

  • Swift(六) - if语句强制解析和可选绑定

    强制解析 可以使用 if 语句来判断一个可选的是否包含一个值。如果包含一个值,结果为 true ;否则 false...

  • 可选绑定

    可选绑定 关于optionals if 语句以及强制解析 选绑定 式解析可选 误处理 断言 关于optionals...

  • 获取可选类型的值

    可选绑定(解决的问题是:如何安全的获取可选类型中的数据?) Demo.swift 强制解包 Demo.swift ...

  • swift语法基础<二>

    变量和常量的声明 常量的声明,就是将var换成let 数据类型 类型别名 元组 可选类型 强制解析: 可选绑定: ...

  • Swift—强制解析&可选绑定&隐式解析可选类型

    *强制解析* * init ? 构造函数,?表示不一定能够实例化出对象* !表示告诉编译器一定有值,编译能够通过,...

  • Day2 if 语句以及强制解析

    ** if 语句以及强制解析**你可以使用 if 语句和 nil 比较来判断一个可选值是否包含值。你可以使用“相等...

  • Swift基础之if 语句以及强制解析

    if 语句以及强制解析 你可以使用if语句和nil比较来判断一个可选值是否包含值。你可以使用“相等”(==)或“不...

  • Swift语法-guard

    在写Swift项目的时候,最好是不要使用强制解包,一般情况使用可选绑定,但是一个问题如果使用可选绑定可能会发生下面...

  • swift中的可选变量

    一,可选变量的定义 二,强制解析 使用可选变量的时候需要使用!来解析可选变量里面的值(强制解析 forced un...

  • Swift-Tips

    1.属性字符串 2.Optional 实现 3.可选解析 你可以包含多个可选绑定或多个布尔条件在一个 if 语句中...

网友评论

    本文标题:Swift(六) - if语句强制解析和可选绑定

    本文链接:https://www.haomeiwen.com/subject/nvjluttx.html