【发布时间】:2016-01-07 01:59:09
【问题描述】:
我有一个使用 Parse 并允许用户创建帐户的应用程序(用 Swift 编写)。我希望用户可以选择删除他们的帐户,但似乎无法弄清楚并且不确定我做错了什么。我希望用户必须验证他们的电子邮件和密码才能发生这种情况。一旦他们删除了他们的帐户,就会弹出一个警报,然后一旦用户关闭警报,它就会将他们带回登录屏幕并退出应用程序。
这是我尝试过的:
@IBAction func deleteAccount(sender: AnyObject) {
if PFUser.currentUser()?.username == emailAddressTextField.text && PFUser.currentUser()?.password == passwordTextFieldOne.text && PFUser.currentUser()?.password == passwordTextFieldTwo.text {
PFUser.currentUser()?.deleteInBackgroundWithBlock({ (success: Bool, error: NSError?) -> Void in
if success {
let alertController = UIAlertController(title: "Success!", message: "Now Please Login", preferredStyle: .Alert)
let enterAppAction = UIAlertAction(title: "OK", style: .Default, handler: { (UIAlertAction) -> Void in
dispatch_async(dispatch_get_main_queue(), { () -> Void in
let viewController:UIViewController = UIStoryboard(name: "Main", bundle: nil).instantiateViewControllerWithIdentifier("Login")
self.presentViewController(viewController, animated: true, completion: nil)
})
})
alertController.addAction(enterAppAction)
self.presentViewController(alertController, animated: true, completion: nil)
} else {
print(error)
self.displayAlert("Account deletion failed", message: "Please try again", actionTitle: "OK")
}
})
}
}
【问题讨论】:
-
你收到错误了吗?
-
不,我认为这不是读取 PFUser.currentUser 密码,因为当我打印出来时它打印为零。这是有道理的,因为 Parse 保护他们的密码。我刚刚让它工作,所以用户可以删除他们的计数,但它不需要任何电子邮件或密码验证。他们只需点击一个按钮,它就会删除该帐户。我希望有验证。
-
您可以尝试执行类似 query.wherekey(email = PFUser.currentUser().email) 的操作,然后执行删除操作吗?我不记得 query.wherekey.. 的正确语法。
标签: swift parse-platform pfuser