【问题标题】:Why use optional binding?为什么使用可选绑定?
【发布时间】:2015-11-17 23:54:40
【问题描述】:

我知道这个问题是here,但它只是部分回答了我的问题,我无法评论答案,所以我不得不在这里发帖。

可选绑定和简单地使用有什么区别?。我的理解是当你使用 ?解包一个变量,如果它包含一个 nil 值,那么使用它的代码不会运行。 (如果不是这样,请纠正我。)

【问题讨论】:

    标签: swift optional-binding


    【解决方案1】:

    如果您有一个代码块,并且您只想在变量不是nil 时运行,您可以使用optional binding (if let)。

    您仅在访问可选变量的属性/方法时使用optional chaining?)。

    但在某些情况下,可选链接是不可能的(即,您没有访问可选变量的属性/方法,而是将该变量用于其他目的)。例如

    // let's assume `data` is a `NSData?` optional
    
    if let imageData = data {
        let image = UIImage(data: imageData)
    
        // now do something with `image`
    }
    

    我们这样做是因为在这种情况下,我们不能使用可选链接,并且如果 datanil,使用强制展开(例如 let image = UIImage(data: data!))会崩溃。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2018-01-07
      • 2016-10-22
      • 2021-10-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多