2016-09-21 21 views
16

我刚刚升级到Xcode 8,并且已经收到导致构建失败的错误。我很新,很快请帮助。xcode 8类型'Error'的值没有成员'userinfo'

enter image description here

我应该将其更改为?由于

UPDATE

除了这个错误我也得到了以下几点:

PFUser.logInWithUsername(inBackground: usernameTextField.text!, password: passwordTextField.text!, block: { (user, error) -> Void in 

        //self.activityIndicator.stopAnimating() 
        UIApplication.shared.endIgnoringInteractionEvents() 

        if user != nil { 

         self.launchDrawerMenu() 

        } else { 

         let convertedError = error! as NSError 

         //if let errorString = convertedError["error"] as? String { 
          errorMessage = errorString 
         } 
         self.displayAlert("Login failed", message: errorMessage) 

        } 
       }) 

的//行我“型NSError没有标委员”的错误。我尝试将它桥接到NSError,但这次不起作用。我该怎么办?非常感谢

+0

什么'error'的对象类型?就像它是一个'NSError'对象或一些自定义对象? –

+0

@Asad Ali它是一个NSError –

+1

它是错误不是NSError –

回答

22

首先,发布代码(文本)而不是截图。

In Swift 3 NSError已被许多API替换为更具通用性的Swift Error协议,其中没有userInfo字典。大桥投的对象NSError

if let errorString = (error! as NSError).userInfo.... 
+0

感谢您的建议。我也有类似的错误,请参阅更新和帮助。真的很感谢 –

+0

你忘了'userInfo',那是可以下标的属性。 – vadian

+0

这是非常愚蠢的我。非常感谢你的帮助! –

0

我发现这个工作

let errorUserInfo : NSDictionary? = ((error as Any) as! NSError).userInfo["error"] as? NSDictionary 
相关问题