2016-12-28 2 views
0

Мой код выглядит следующим образом:Значение «ошибки» типа не имеет ни одного члена «USERINFO»

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

+0

мне нужно больше кода –

+0

если signupMode { пусть пользователь = PFUser() user.username = emailTextField.text user.email = emailTextField.text user.password = passwordTextField .text user.signUpInBackground (блок:? {(успех, ошибка) в , если ошибка = ноль { если пусть ErrorMessage = error.UserInfo [ "ошибка"] как строка { // displayErrorMessage = ErrorMessage } self.createAlert (название: «Ошибка», сообщение: «Ошибка анализа») } – Rob

+0

Извините, я не уверен, что это было полезно! – Rob

ответ

0

По вашим обрезанным не может быть определено, что такое error, и он должен иметь член под названием UserInfo. Пожалуйста, укажите больше кода ...

Я предполагаю, что это NSError? В этом случае это будет error.userInfo в качестве имени участника. (смотреть корпус)

Кроме того, ваш код не скомпилируется, потому что вы объявляете let displayErrorMessage, но в случае, если его присвоить. Вам нужно будет изменить его на 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. 
    } 
    } 
+0

Спасибо за ваш ответ. Я все еще получаю ту же ошибку (так расстраивает !!!) – Rob

+0

Я также сменил let на var! Спасибо! – Rob

+0

Я обновил свой ответ на основе вашего кода. Это помогает? –

Смежные вопросы