如何检查解析Xcode中的UserName

时间:2015-10-13 18:42:15

标签: ios xcode swift parse-platform

我试图检查用户名是否已经在解析中使用,但似乎不能使用我的代码,你能不能对我做错了什么

谢谢

      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
    }

2 个答案:

答案 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
            }

希望这有帮助