我正在從Raywenderlich的教程學習。我的問題是爲什麼我們使用可選綁定,即if let
它有什麼不同?爲什麼我們不能使用可選的鏈接 - 類似於A行& B?
func tableView(tableView: UITableView, cellForRowAtIndexPath indexPath: NSIndexPath) -> UITableViewCell {
let cell = tableView.dequeueReusableCellWithIdentifier("IconCell", forIndexPath: indexPath)
let icon = icons[indexPath.row]
cell.textLabel?.text = icon.title // Line A
cell.detailTextLabel?.text = icon.subtitle // Line B
if let imageView = cell.imageView, iconImage = icon.image { //Line C
imageView.image = iconImage
}
教練的解釋是:
當我們實例中,我們得到基於字符串的圖像的引用的圖標...如果出於某種原因,圖像不包含在捆綁,重新命名或刪除,那麼該圖標可能沒有與之相關的圖像...我們必須使用,如果讓它確保它在那裏。
我還是不明白區別。
綁定讓你有一個else語句。除此之外,我沒有看到你的情況有重大區別 – Jared
@Jared就是這樣嗎?如果你不把任何東西放在else語句中,那麼它有什麼好處嗎? – Honey
也在if語句中不再需要可選鏈。所以它對於多行代碼很有用。除此之外,並沒有真正的優勢 – Jared