objc的Swift中的等价物是什么:
NSObject* x = nil;
if(x) {
//do stuff
}
还有什么相当于:
if(!x) return;
在swift中你必须出于某种原因使用{}吗?
答案 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}