swift - 在 Swift 的单行上测试 nil

标签 swift

<分区>

我有一个可选的整数,如果它不是零,我想将它分配给一个新变量,如果是,我想分配给 0。我也想在一条线上完成。是否有充分的理由执行以下操作?

让输出=输入!=零?输入! : 0

我觉得更“合适”的方式应该是

let output = {
    if let _ = input {
        return input!
    } else {
        return 0
    }
}()

但它要冗长得多。

最佳答案

实际上 Swifty 的方法是:

let output = input ?? 0

?? 运算符正是为这种情况而设计的,意思是:“如果可以,请安全地展开此 Optional;如果不能,请使用此替代值”。

关于swift - 在 Swift 的单行上测试 nil,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36524321/

相关文章:

ios - FirebaseUI-IOS 处理空 TableView 条件

ios - NSAttributedString 2个字符串与新行的组合

ios - iMessage 应用程序中的产品 ID 无效

ios - 无法触摸包含 AVPlayerLayer 的 UIView

ios - GCDAsyncSocket 不向 TCP 套接字服务器发送数据

ios - Alamofire 请求完成后如何在后台线程中解析 JSON?

arrays - Swift 中 AnyObject 的空数组

ios - 在键盘上方显示 UIView 无法正常工作

Xcode 6.3.1 : iOS app runs but won't archive

ios - 自动布局 - 根据屏幕尺寸动态更改 subview 尺寸