首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

Swift3.0-可选值

  • ?的用法
代码语言:javascript
复制
let optionalSquare: Square? = Square(sideLength: 2.5, name: "optional square")
let length = optionalSquare?.sideLength

什么时候定义可选值

当你创建的变量有可能会出现nil的时候

看第二个句代码为什么那样写,如果不那样写会怎么?

如果我们第一句代码创建的结果为nil,在获取它里面的属性sideLength的时候我们加了一个? 系统会首先确认第一个是不是nil,如果是nil,则直接返回一个nil给length,如果不是空值,则获取sideLength的值赋值给length

加入我们的解封第一个对象

代码语言:javascript
复制
  let length = optionalSquare!.sideLength

如果optionalSquare不是nil还好,没有任何影响,如果为nil怎系统直接崩溃,相当于这样 let sideLength = nil ,swift 不允许我们使用nil赋值给一个非可选值

下一篇
举报
领券