我正在使用以下代码通过Swift在Parse帐户注册。
var user = PFUser()
user.username = self.userNameText.text
user.password = self.paswordText.text
user["mobileNumber"] = self.mobileNo as! String //
user["authCode"] = self.authCode as! String
user["deviceId"] = deviceId
self.user.signUpInBackgroundWithBlock({
(success:Bool, error:NSError?) -> Void in
if (error == nil) {
let installation:PFInstallation = PFInstallation.currentInstallation()
installation["user"] = PFUser.currentUser()
installation.saveInBackgroundWithBlock({
(success:Bool, error:NSError?) -> Void in
if (error == nil) {
println("Installion Success")
} else {
println("Installation Error")
}
})
println("Singup Success")
} else {
println(" error = \(error)")
}
})在这种情况下,如果输入的用户名已经保存在Parse中,我想给出错误,但是现在它已经成功地用两个相同的用户名注册了。
我怎么才能避免呢?
发布于 2015-09-09 12:03:13
如果要检查用户是否已通过Parse.com注册,则必须在用户表中进行查询,如果用户已经存在,则不允许他再次注册
PFQuery *query = [PFUser query];
[query whereKey:@"username" equalTo:textField.text];
[query getFirstObjectInBackgroundWithBlock:^(PFObject *object, NSError *error) {
if (object != nil) {
NSLog(@"User exist");
}
else
{
NSLog(@"User don`t exist");
}
}]; 希望这能帮到你
发布于 2015-09-09 13:07:07
试试这个
var query = PFQuery(className:"User")
query.whereKey(key: "username", equalTo:self.userNameText.text)
query.getFirstObjectInBackgroundWithBlock { (object: [AnyObject]?, error: NSError?) -> Void in
if object != nil
{
//User exist
//give appropriate message
}
else
{
//User don`t exist"
//call signup method from here
self.signUpNewUser()
}
}新用户注册
func signUpNewUser()
{
var user = PFUser()
user.username = self.userNameText.text
user.password = self.paswordText.text
user["mobileNumber"] = self.mobileNo as! String //
user["authCode"] = self.authCode as! String
user["deviceId"] = deviceId
self.user.signUpInBackgroundWithBlock({
(success:Bool, error:NSError?) -> Void in
if (error == nil) {
let installation:PFInstallation = PFInstallation.currentInstallation()
installation["user"] = PFUser.currentUser()
installation.saveInBackgroundWithBlock({
(success:Bool, error:NSError?) -> Void in
if (error == nil) {
println("Installion Success")
} else {
println("Installation Error")
}
})
println("Singup Success")
} else {
println(" error = \(error)")
}
})
}https://stackoverflow.com/questions/32478960
复制相似问题