使用Parse在后台使用块注册时的Swift问题

时间:2015-02-25 17:50:00

标签: xcode swift parse-platform

我在使用Parse在后台使用块

的注册时遇到了问题
  func Signup()
        {
            var user = PFUser()
            user.username = self.username.text
            user.password = self.password.text
            user.email = "email@example.com"


            user.signUpInBackgroundWithBlock {
                (succeeded: Bool! , error:NSError!) -> Void in
                if (error != nil)
                {

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

然后我得到了这两个错误

http://s15.postimg.org/geexdxwob/image.png

2 个答案:

答案 0 :(得分:2)

  func Signup()
        {
            var user = PFUser()
            user.username = self.username.text
            user.password = self.password.text
            user.email = "email@example.com"


            user.signUpInBackgroundWithBlock {
                (succeeded: Bool , error:NSError!) -> Void in
                if (error != nil)
                {

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

答案 1 :(得分:1)

您无法像这样设置userInfo。您应该使用error.code代替。

Check what the error-codes represent.

此外,另一个错误应该消失,因为我已经对它进行了测试,并且它可以正常工作。所以只需删除

let errorString = error.userInfo["error"] as? NSString

`而且使用error.code和switch-cases,你可以自己处理不同的错误代码并构建一个errorString。

 user.signUpInBackgroundWithBlock {
        (succeeded: Bool! , error:NSError!) -> Void in
        if (error != nil)
        {
            var errorString:String!
            switch error.code{
            case 100:
                errorString = "Error 100 appeared. It means..."
            case 101:
                errorString = "Error 101 appeared. It means..."
            case 102:
                errorString = "Error 102 appeared. It means..."
            default:
                break
            }
        }
        else{

        }
    }