Manvendra Sah
Manvendra Sah

Reputation: 103

Get String value from an optional in Swift 4

I am new to Swift and am trying to compare my Error description name with different String constants to show the user different results, based on the error.

I am using:

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

The value of errorName comes as "Optional(AlreadyActiveUser)" and when i compare this to my constant string "AlreadyActiveUser", i get false.

I have tried many things, but i am not able to get the value of the string inside the optional.

Someone, please help.

Upvotes: 1

Views: 318

Answers (3)

ahagbani
ahagbani

Reputation: 132

try let errorName = errors.first!["name"].debugDescription

Notes that I forced wrapping first with ! instead of ?.

Upvotes: 0

Devil Decoder
Devil Decoder

Reputation: 1086

you can use this

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

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

}
else
{
       print("value is not present...")
}

Upvotes: 0

Mahendra
Mahendra

Reputation: 8914

You can use optional binding in this case...

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

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

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

Upvotes: 2

Related Questions