如何在一行中检查Swift中的可选变量是否为nil并返回布尔值?
目前我尝试过以下方法:
class UserManager {
var signedInUser: User? = nil
// some code
func isSignedIn() -> Bool {
return self.signedInUser?
}
}
这会导致以下错误信息:
此外,我尝试了以下方法:无法将表达式的类型'$T3??'转换为类型'Bool'
func isSignedIn() -> Bool {
return self.signedInUser == nil
}
这会导致非常奇怪的错误消息:
“Type 'UIStatusBarStyle' does not conform to protocol 'NilLiteralConvertible'”。
我不想在"isSignedIn"方法中执行以下操作,因为这对于这个简单的任务来说太长了:
func isSignedIn() -> Bool {
if let signedInUser = self.signedInUser {
return true
}
return false
}
我这里有点不明白,我认为Swift可以让代码变得更加简短和简单。你会怎么做呢?
.getLogicValue
或隐式使用它,例如if signedInUser {
。 - SulthangetLogicValue()
方法很有帮助! - Jeehut!!self.signedUser
,但对于从未接触过Javascript的人来说,这是一个很粗糙的解决方法。 - Sulthan