美文网首页
swift 可选项optional

swift 可选项optional

作者: dicesc | 来源:发表于2016-07-18 15:01 被阅读94次

Optional 可选项

  • Optional是 Swift 的一大特色,也是 Swift 初学者最容易困惑的问题
  • 定义变量时,如果指定是可选的,表示该变量可以有一个指定类型的值,也可以是 nil
  • 定义变量时,在类型后面添加一个 ?,表示该变量是可选的
  • 变量可选项的默认值是 nil
    -常量可选项没有默认值,主要用于在构造函数中给常量设置初始数值
screenshot.png
  • 如果 Optional 值是 nil,不允许参与计算
  • 只有解包(unwrap)后才能参与计算
  • 在变量后添加一个 !,可以强行解包
注意:必须要确保解包后的值不是 nil,否则会报错

常见错误
unexpectedly found nil while unwrapping an Optional value
翻译 :在对可选项[解包]时发现 nil


?? 运算符

  • ??运算符可以用于判断 变量/常量的数值是否是 nil,如果是则使用后面的值替代
  • 在使用 Swift 开发时,?? 能够简化代码的编写

// 常量可选项必须要设置初始值
var x: Int?
//= 20// x = 30// 变量可选项默认值是 nil
var y: Int? //= 10y = 20print((x ?? 0) + (y ?? 0))

########注意:?? 的优先级低,在使用时,应该注意使用 ()

var str: String? = "老王"// 注意 ?? 的优先级低,在使用时,应该注意使用 ()
print((str ?? "无名") + " 你好")
print(str ?? "无名" + " 你好")

相关文章

网友评论

      本文标题:swift 可选项optional

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