类型值'错误'没有会员' userinfo'

时间:2016-12-28 21:14:07

标签: swift xcode swift3

我的代码如下:

if signupMode {
    let user = PFUser()
    user.username = emailTextField.text
    user.email = emailTextField.text
    user.password = passwordTextField.text
    user.signUpInBackground(block: {
       (success, error) in

if error != nil {

    let displayErrorMessage = "Please try again later"

    if let errorMessage = error.UserInfo["error"]? as String {
        displayErrorMessage = errorMessage                
    }

self.createAlert(title: "Error", message: "Parse Error")
}

我一直在收到错误

  

"类型'错误'没有会员' userinfo"

我该怎么做才能解决这个问题?我正在使用Xcode 8

2 个答案:

答案 0 :(得分:1)

通过你的剪断,无法确定error是什么,并且它应该有一个名为UserInfo的成员。请提供更多代码......

我认为它是NSError?在这种情况下,它将是error.userInfo作为成员名称。 (看外壳)

除此之外,您的代码将失败编译,因为您声明了let displayErrorMessage,但在if中对其进行了赋值。您需要将其更改为var displayErrorMessage才能执行此操作。

试试这个:

user.signUpInBackgroundWithBlock {
    (succeeded: Bool!, error: NSError!) -> Void in
    if error == nil {
      // Perform a segue, show a message or whatever you want

    } else {
      let errorString = error.userInfo["error"] as NSString
      // Show the errorString somewhere and let the user try again.
    }
  }

答案 1 :(得分:0)

如果仍然出现此错误,请尝试以下代码。强制将包装错误作为NSError。

if let errorMessage = (error! as NSError).userInfo["error"] as? String {
    displayErrorMessage = errorMessage
}