DKNS
DKNS

Reputation: 27

Problem with adding value from array to int

Hi I made array in swift

var age = [
    "Anna": 25,
    "Billy": 32,
]

And I wanted add age of Anna to int

var year = age['Anna']+1965

but then Im getting error

Value of optional type 'Int?' must be unwrapped to a value of type 'Int'

so I tried to do something like

Int(age['Anna'])

as you can guess it doesn't work

Upvotes: 1

Views: 50

Answers (2)

AnderCover
AnderCover

Reputation: 2661

Did you try to unwrap the Optional ?

if let ageAnna = age["Anna"] {
    let year = ageAnna + 1965
    print(year)
}

Upvotes: 1

Vyacheslav
Vyacheslav

Reputation: 27211

Because of age['Anna'] is Optional<Int>. This is not a Int

You have to unwrap:

var year = (age['Anna'] ?? 0) + 1965 or

guard let age = age['Anna'] else {
return
}
var year age + 1965

Upvotes: 3

Related Questions