gpt4 book ai didi

ios - 如何正确注销并继续到 View Controller ?

转载 作者:搜寻专家 更新时间:2023-11-01 06:46:23 25 4
gpt4 key购买 nike

我的想法是创建一个登录应用程序,当我登录时,我会转到一个新的 View Controller 并做一些事情,我的代码是这样的:

 @IBAction func signUp(sender: AnyObject) {
var error = ""

if username.text == "" || password.text == "" {

error = "Please enter a username and password"

}
if error != "" {
displayAlert("Error in form", error: error)

} else {



activityIndicator = UIActivityIndicatorView(frame: CGRectMake(0, 0, 50, 50)) //waiting animation
activityIndicator.center = self.view.center
activityIndicator.hidesWhenStopped = true
activityIndicator.activityIndicatorViewStyle = UIActivityIndicatorViewStyle.Gray
view.addSubview(activityIndicator)
activityIndicator.startAnimating()
UIApplication.sharedApplication().beginIgnoringInteractionEvents()


if signupActive == true {

var user = PFUser()
user.username = username.text
user.password = password.text




user.signUpInBackgroundWithBlock {
(succeeded: Bool, signupError: NSError?) -> Void in

self.activityIndicator.stopAnimating()

UIApplication.sharedApplication().endIgnoringInteractionEvents()


if signupError == nil {
println("signed up")


} else {
if let errorString = signupError!.userInfo?["error"] as? NSString
{

error = errorString as! String

} else {

error = "Please try again later"

}

self.displayAlert("Could not sign up", error: error)
}
}


} else {

PFUser.logInWithUsernameInBackground(username.text as String!, password:password.text as String!) {
(user: PFUser?, signupError: NSError?) -> Void in


self.activityIndicator.stopAnimating()
UIApplication.sharedApplication().endIgnoringInteractionEvents()

if signupError == nil {

println("logged in")

self.performSegueWithIdentifier("push", sender: nil)

} else {

if let errorString = signupError!.userInfo?["error"] as? NSString {

// Update - added as! String

error = errorString as! String

} else {

error = "Please try again later."

}

self.displayAlert("Could Not Log In", error: error)


}
}


}


}


}

我将注册和登录放在同一个按钮中,并使用 signUpActive 将它们分开,然后我将 self.performSegueWithIdentifier("push", sender: nil ) 在登录部分,所以当我输入正确的密码和用户名时,我可以转到一个新的 View Controller 。

效果很好。但是当我在注销的新 View Controller 中添加一个新按钮时,当我单击该按钮时,我将转到第一个 View Controller 并使用 PFuser.logout() 注销,我需要重新输入正确的用户名和密码。

那么问题来了,即使我输入了错误的用户名,它也会转到第二个 View Controller ,尽管它会显示一个警告说用户名无效。同时,即使我点击注册而不是登录,它也会继续。为什么会这样?谁能帮帮我?

最佳答案

经过一天的尝试,我找到了答案,通过使用unwinded segue,这个问题很容易解决。

关于ios - 如何正确注销并继续到 View Controller ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30307592/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com