Swift速记空检查

时间:2016-08-09 07:48:51

标签: swift syntax

objc的Swift中的等价物是什么:

NSObject* x = nil;
if(x) {
    //do stuff
}

还有什么相当于:

if(!x) return;

在swift中你必须出于某种原因使用{}吗?

1 个答案:

答案 0 :(得分:0)

是的,在swift中,你应该总是使用if运算符的大括号:

var x: NSObject? // value of Optional type set to nil automatically
if let x = x {
    //do stuff
}

这里使用了可选绑定,在x范围内声明了局部变量if。在功能开始时,guard关键字也很有用:

guard let x = x else {return}
//do stuff

如果您出于某种原因希望使用展开的原始变量(认为您始终可以访问包含self关键字的属性,self.x - 属性,x - 本地范围变量),那么您应该将它与nil进行比较:

if x != nil {
    //do stuff
}

if x == nil {return}