我试图检查用户名是否已经在解析中使用,但似乎不能使用我的代码,你能不能对我做错了什么
谢谢
func usernameIsTaken(userName: String) -> Bool {
let userName = userNameTextField.text
let myUser: PFUser = PFUser.currentUser()!
//bool to see if username is taken
var isTaken : Bool = false
//access PFUsers
let query = PFUser.query()
query!.whereKey("username", equalTo: userName!)
query!.findObjectsInBackgroundWithBlock {
(objects: [AnyObject]? , error : NSError? ) in
if error == nil {
if (objects!.count > 0) {
isTaken = true
print("username is taken")
} else {
print("Username is available. ")
}
} else {
print("error")
}
}
return isTaken
}
答案 0 :(得分:0)
例如,您可以尝试向用户签名,如果已经使用了用户名,Parse将返回错误代码202.
http://parse.com/docs/dotnet/api/html/T_Parse_ParseException_ErrorCode.htm
如果这不是您的预期用途,要查询User表,请使用PFUser.query来构建查询。
答案 1 :(得分:0)
试试这个:
query.findObjectsInBackgroundWithBlock({ (object: [PFObject]?,error: NSError?) -> Void in
if error == nil {
}
})
如果您对计数解析中唯一感兴趣的是引入了一个类似于findObjectsInBackground的新方法但确实正在寻找的方法,那么该方法称为countObjectsInBackground
您可以在定义查询后调用此方法。
喜欢这样
query.countObjectsInBackgroundWithBlock { (count: Int32,error: NSError?) -> Void in
if error == nil {
//code here
}
希望这有帮助