как разобрать nserror, полученный от полосы

Здравствуйте, когда я ввожу неправильный номер карты, я получаю ошибку этого типа

Error Domain=com.stripe.lib Code=70 "Ваша карта была отклонена" UserInfo={com.stripe.lib:ErrorMessageKey=Ваша карта была отклонена. Ваш запрос находился в режиме реального времени, но использовал известную тестовую карту. , com.stripe.lib:ErrorParameterKey=, NSLocalizedDescription=Ваша карта была отклонена}

я хочу разобрать это сообщение из следующей ошибки

Ваша карта была отклонена. Ваш запрос был в режиме реального времени, но использовал известную тестовую карту.


person Shahzad    schedule 30.10.2018    source источник
comment
но я хочу это Ваша карта была отклонена. Ваш запрос был в режиме реального времени, но использовал известную тестовую карту.   -  person Shahzad    schedule 30.10.2018
comment
см. lib:ErrorMessageKey из приведенного выше вопроса   -  person Shahzad    schedule 30.10.2018
comment
Вы пробовали error.localizedDescription?   -  person Kamran    schedule 30.10.2018
comment
да, это давало только заголовок сообщения   -  person Shahzad    schedule 30.10.2018


Ответы (1)


Вам нужно привести error к NSError, а затем вы можете получить доступ к userInfo и проверить все keys в этом dictionary и извлечь любое значение сообщения, которое вы хотите,

if let error = error as? NSError {
    print(error.userInfo)
    print(error.localizedDescription)
    // Check the userInfo object and extract the messages as error.userInfo["messageKey"]
}
person Kamran    schedule 30.10.2018