我在快速返回布尔值时遇到问题。最初,我创建了一个函数(状态分配),将该值传递给另一个构造函数(isLoggedIn)。现在,此构造函数从statusAssign函数返回门控值。所以,我该怎么做?我的编码在下面,但似乎出错。
func statusAssign()
{
let state = "1"
isLoggedIn(state)
}
internal func isLoggedIn(status:String) -> Bool
{
var gc:Bool
if status == "1"
{
gc = true
}
else
{
gc = false
}
return gc //Error 1: return is Nil while wrapping an optional value
}
func usage()
{
if isLoggedIn() == true //Error2: Missing Argument for Parameter #1 in call
{
print("Buddy is true")
}
else
{
print("Buddy is false")
}
}
最佳答案
错误1:
var gc:Bool //This is NOT declared, you just THINK it is
var gc:Bool = false //correct way, also makes it where you DON'T need the else i.e. less code.
if status == "1"
{
gc = true
}
错误2:
您将函数
isLoggedIn(status:String)
声明为带有参数的函数。因此,当您调用isLoggedIn(status:String)
时,需要输入。没有参数就不能执行if isLoggedIn()
。如果我是正确的话,我认为有一种更简单的方法可以做到这一点。让我知道这是否适合您。
var isLoggedIn:Bool = false
func logIn() {
isLoggedIn = true
}
func usage() {
if(isLoggedIn) {
print("Buddy is true")
}
else
{
print("Buddy is false")
}
}
应用:
logIn()
usage()
关于ios - swift 2.0中如何在其他条件下返回 bool 值?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/38538156/