Получить значение String из необязательного в Swift 4 - PullRequest
0 голосов
/ 03 июля 2018

Я новичок в Swift и пытаюсь сравнить имя моего описания ошибки с разными строковыми константами, чтобы показать пользователю разные результаты в зависимости от ошибки.

Я использую:

let errorName = errors.first?["name"].debugDescription

Значение errorName указывается как «Необязательный (AlreadyActiveUser)», и когда я сравниваю это с моей константной строкой «AlreadyActiveUser», я получаю значение false.

Я пробовал много вещей, но я не могу получить значение строки внутри необязательного.

Кто-то, пожалуйста, помогите.

Ответы [ 3 ]

0 голосов
/ 03 июля 2018

Вы можете использовать это

if let errorName = errors.first?["name"] as? String {

 print(errorName)
//here you can compare errorName == "AlreadyActiveUser"

}
else
{
       print("value is not present...")
}
0 голосов
/ 03 июля 2018

попробуй let errorName = errors.first!["name"].debugDescription

Отмечает, что я принудительно обернул first с ! вместо ?.

0 голосов
/ 03 июля 2018

В этом случае вы можете использовать необязательную привязку ...

guard let errorName = errors.first?["name"].debugDescription as? String {

    print("value is not present...")
    return
}

print(errorName)
//here you can compare errorName == "AlreadyActiveUser"
...