Значение xcode 8 типа 'Error' не имеет пользователя userinfo '
Я только что обновился до Xcode 8 и уже получаю ошибки, которые приводят к сбою сборки. Я очень новый, чтобы быстро, пожалуйста, помогите.
![введите описание изображения здесь]()
Чего я должен изменить? Благодаря
ОБНОВЛЕНИЕ
Помимо этой ошибки я также получил следующее:
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, но на этот раз он не работает. Что мне делать? большое спасибо
Ответы
Ответ 1
Прежде всего, отправьте код (текст), а не снимок экрана.
В Swift 3 NSError
был заменен во многих API более общим протоколом Swift Error
, который не имеет словаря userInfo
. Мост перенес объект на NSError
if let errorString = (error! as NSError).userInfo....
Ответ 2
Я нашел, что это сработало
let errorUserInfo : NSDictionary? = ((error as Any) as! NSError).userInfo["error"] as? NSDictionary