swift学习可选类型

可选类型的定义

  • 如果有值,就是这个值。
  • 如果没值自动至为nil。

可选类型使用具有安全性

  • 在编译阶段就检查
    • 如果类型可选类型,无值,同时用这个值调用某个方法,就会报错。不会运行在报错。(第一要求解包,第二解包的值不为nil)
NSString *stockCode = [self findStockCode:@"Facebook"]; // nil is returned
NSString *text = @"Stock Code - ";
NSString *message = [text stringByAppendingString:stockCode]; // runtime error
NSLog(@"%@", message);

可选类型的使用

  • 所以Swift中是推荐先检查可选类型是否有值, 然后再进行解包的!

下面例子不推荐使用(未使用可选绑定)

var stockCode:String? = findStockCode("Facebook")
let text = "Stock Code - "
if stockCode {
    let message = text + stockCode!
    print(message)
}

下面例子推荐使用(使用了可选绑定)

  • if let或者if var`是可选绑定的两个关键字,使用可选绑定来检查可选类型的变量有值还是没值. 如果有值, 解包它并且将值传递给一个常量或者变量.
let text = "Stock Code - "
if var stockCode = findStockCode("Apple") {
    let message = text + stockCode
    print(message)
}

http://www.cocoachina.com/swift/20160810/17330.html?utm_source=tuicool&utm_medium=referral

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值