swift - if let 语句有什么意义?

标签 swift

我已经阅读了有关可选绑定(bind)的 Swift 文档,但以我的知识(和/或智力)水平,我无法理解它。

有什么区别:

var number:Int? = 1
if let num = number {
    print("number is \(number!)"
} else {
    print("it must be nil")
}

var number:Int? = 1
if number==nil {
    print("it must be nil")
} else {
    print("number is \(number!)"
}

据我所知,它们的工作原理相同,至少对我而言,第二个更具可读性。我通常不会关心这样的事情,但是 if let 在大多数基础教程中都很突出,就像它很有用,所以我真的很想知道为什么。

最佳答案

假设您有两个可选值 A 和 B 经典语法

if a != nil {
    if a?.b != nil {
        here access a.b.blah 
    }
}

新语法

if let blah=a?.b?.blah {
   use blah ...
}

它更短,更易读,更灵活

关于swift - if let 语句有什么意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35586269/

相关文章:

ios - 多次暂停和恢复 CAEmitterLayer

swift - MacOS - 如何在登录屏幕后继续

swift - 如何在 SwiftUI 中选择性地传入绑定(bind)?

ios - 具有负 M_PI 的 CGAffineTransformMakeRotation

json - 修改 Swift 字典中的所有键名

ios - 如何自定义 AWS Amplify iOS 身份验证警报?

ios - RxSwift - 在 UISearchBar 中以编程方式触发搜索

objective-c - 在 Xcode 重构时忽略 Pod?

ios - 如何防止自定义标题在部分更新时闪烁?

ios - 如何在 Swift 中固定到 TableView 的顶部?