考虑这个例子。 else if条件检查字符串对象看起来很大而笨重。Swift 3:如何缩短可选检查以及可选的条件检查?
class A { var bObject = B() }
class B { var cObject = C() }
class C {
var flag = FALSE
var stringObj: String? = "Hello"
}
var aObject = A()
if aObject.bObject.cObject.flag == TRUE {
//do something
}
else if aObject.bObject.cObject.stringObject != nil && aObject.bObject.cObject.stringObj!.characters.count > 0 && aObject.bObject.cObject.stringObj! == "Hello" {
//do something
}
else {
}
我想使用类似下面的东西,其中可选的绑定变量用于相同的条件检查。但代码不会编译,原因很明显
else if let unwrappedOptional = aObject.bObject.cObject.stringObj && unwrappedOptional.characters.count > 0 && unwrappedOptional == "Hello" {
//do something
}
有没有更好的方法来处理这个问题?
使用逗号','代替'&&' –