Swift3.0-可选值

Swift3.0 - 真的很简单
Swift3.0 - 数据类型
Swift3.0 - Array
Swift3.0 - 字典
Swift3.0 - 可选值
Swift3.0 - 集合
Swift3.0 - 流控制
Swift3.0 - 对象和类
Swift3.0 - 属性
Swift3.0 - 函数和闭包
Swift3.0 - 初始化和释放
Swift3.0 - 协议protocol
Swift3.0 - 类和结构体的区别
Swift3.0 - 枚举
Swift3.0 - 扩展
Swift3.0 - 下标
Swift3.0 - 泛型
Swift3.0 - 异常错误
Swift3.0 - 断言
Swift3.0 - 自动引用计数(strong,weak,unowned)
Swift3.0 - 检测API
Swift3.0 - 对象的标识
Swift3.0 - 注释
Swift3.0 - 元类型
Swift3.0 - 空间命名
Swift3.0 - 对象判等
Swift3.0 - 探究Self的用途
Swift3.0 - 类簇
Swift3.0 - 动态调用对象(实例)方法
Swift3.0 - 文本输出
Swift3.0 - 黑魔法swizzle
Swift3.0 - 镜像
Swift3.0 - 遇到的坑

  • ?的用法
let optionalSquare: Square? = Square(sideLength: 2.5, name: "optional square")
let length = optionalSquare?.sideLength

什么时候定义可选值

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

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

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

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

  let length = optionalSquare!.sideLength

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值