我试图检查是否有一个用户,如果他们已经验证了他们的帐户(通过电话号码),如果有,他们已经让他们继续,但如果有一个用户没有验证他们的电话号码,请他们验证他们的电话号码。我的问题是,我在Parse User类中将“phoneNumberValidated”设置为Bool,但随后尝试使用if语句进行检查,我得到错误:二进制运算符“==”不能应用于“AnyObject!”类型的操作数还有“布尔”
检查用户和验证状态的代码:
override func viewDidLoad() {
super.viewDidLoad()
var currentUser = PFUser.currentUser()
if currentUser == nil || currentUser!["phoneNumberVerified"] == nil {
performSegueWithIdentifier("showInitialView", sender: self)
} else {
if let numberIsVerified = currentUser!["phoneNumberVerified"] as? Bool {
if currentUser != nil && numberIsVerified == false {
performSegueWithIdentifier("showVerifyUserView", sender: self)
} else if currentUser != nil && numberIsVerified == true {
performSegueWithIdentifier("showMyPostsView", sender: self)
} else {
performSegueWithIdentifier("showInitialView", sender: self)
}
}
}
}
}
最佳答案
我觉得你应该试着把它贬为笨蛋
override func viewDidLoad() {
super.viewDidLoad()
if let currentUser = PFUser.currentUser() {
if let numberIsVerified = currentUser["phoneNumberVerified"] as? Bool {
if numberIsVerified == false {
performSegueWithIdentifier("showVerifyUserView", sender: self)
} else if numberIsVerified == true {
performSegueWithIdentifier("showMyPostsView", sender: self)
} else {
performSegueWithIdentifier("showInitialView", sender: self)
}
}
}
}
关于ios - 在Bool上使用'=='检查用户验证会在Swift和Parse中引发错误,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/34366897/