0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Swiftの辞書について質問です

Posted at

つい今月、iPhoneアプリを作りたいと思い、Swifを学びはじめたプログラミング未経験者です。

本を読んだり、ググったりしているのですが、
わからない点がありましてご教授をいただきたいです!

今、配列と辞書の違いを勉強していまして
辞書は結果がオプショナルになる、そしてオプショナルを外さないとそのままの値では使えない、という所までは理解しました。

以下、コードを描いてみたのですが、アンラップをつけて値を取り出そうとするとエラーになってしまいます・・・

何故なのか、調べてもよく理解できず><

ご教授いただけると嬉しいです!

よろしくお願いいたします!!

//辞書
var cameraLens: [String: Int] = ["key1": 24, "key2": 50, "key3": 85,]
cameraLens["key1"] = 2470 //辞書の値を更新
cameraLens["key4"] = 135 //辞書に追加
print(cameraLens["key1"])
print(cameraLens["key5"]) //key5は無いからnilになる

let key2: Int? = cameraLens["key2"] // ?をつけてオプショナル型を指定している。オプショナルが外れる
print(cameraLens)

// ↓エラーになっちゃうその1
if cameraLens["key1"] != nil { // if文の中で(!)アンラップをつけてnilでないことをチェックしている
print(cameraLens["key1"]
}

// ↓エラーになっちゃうその2
else if cameraLens["key4"] != nil { //アンラップをつけてオプショナルでない値を取り出す
let key4: String = cameraLens["key3"]! //アンラップを最後につける
print(key4)
}

0
0
4

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?