Swift 函数不允许我返回布尔值,即使函数具有返回值



>我不断收到一个错误,上面写着:void函数中意外的非void返回值

该函数显然有一个"->布尔值",但不允许我返回布尔值。我注释掉的代码是替代代码,也不起作用。我只想返回一个布尔值。

func checkUserSetup(userID: String) -> Bool {
    self.ref.child("userInfo").observeSingleEvent(of: .value, with: { (snapshot) in
        var result: Bool
        if snapshot.hasChild(userID){
            print("DU HAR GÅTT GJENNOM SETUP!")
            result = true
            //return true
        }else{
            print("DU HAR IKKE GÅTT GJENNOM SETUP")
            result = false
            //return false
        }
        return result
    })
}//end of checkUserSetup
您使用

异步方法。您不能在块(异步(中返回布尔值。我建议你在方法的参数中实现一个完成处理程序,并将你的方法变成一个 void 函数。

 func checkUserSetup(userID: String, completion: @escaping ((success: Bool) -> Void))

和正义的电话

 completion(snapshot.hasChild(userID))

最新更新