Swift 与Objective-c语法参照(四)

2015-11-19 23:06:54 · 作者: · 浏览: 40
PL" aapl.price = 90.32 return aapl } else if (company == "Google") { let goog: Stock = Stock() goog.code = "GOOG" goog.price = 556.36 return goog } return nil }
现在我们计算买了100个苹果需要多少钱:

if let stock = findStockCode("Apple") {
    if let sharePrice = stock.price {
        let totalCost = sharePrice * 100
        println(totalCost)
    }
}

因为findStockCode的返回值是可选值,我们使用可选绑定来判断,但是Stock的price属性也是可选的,所以我们又用了一个可选绑定来判断空值。

上面的代码运行没有问题,不用if let我们有更简单的办法,你可以把上面的代码改成可选链的操作,这个特性允许我们把多个可选类型用?连接,做法如下:

if let sharePrice = findStockCode("Apple")?.price {
    let totalCost = sharePrice * 100
    println(totalCost)
}