一尘不染

Swift3可选链在IF条件下出现错误?

swift

这段代码在Swift
2.3中工作得很好,我不明白为什么我必须打开包装TestClass以检查数字是否大于4。这是链接可选项的主要目的,以节省额外的调用。

现在,要使此工作有效,我必须检查是否testClass != nil(或使用带隐式的unwrap with if let语句)然后检查计数。

这真的是唯一的方法吗?

import UIKit

class testClass
{
    var optionalInt:Int?
}

var test:testClass?

if test?.optionalInt > 4
{

}

阅读 183

收藏
2020-07-07

共1个答案

一尘不染

可选的比较运算符已从Swift 3中删除 。SE-0121

您需要编写如下内容:

if test?.optionalInt ?? 0 > 4
{

}
2020-07-07