質問編集履歴
4
加筆
test
CHANGED
File without changes
|
test
CHANGED
@@ -24,7 +24,7 @@
|
|
24
24
|
|
25
25
|
2)UILabelに``りんご``と表示される
|
26
26
|
|
27
|
-
3)``cherry``と入力する
|
27
|
+
3)存在しないキー``cherry``と入力する
|
28
28
|
|
29
29
|
4)UILabelはそのまま``りんご``と表示されたまま
|
30
30
|
|
3
タイトル分かりやすく変更しました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
Swift3 辞書のキー
|
1
|
+
Swift3 辞書のキーがnilだったとき、nilじゃないキーを指定したときの値を(UILabelに)表示したままにする
|
test
CHANGED
File without changes
|
2
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -58,6 +58,14 @@
|
|
58
58
|
|
59
59
|
|
60
60
|
|
61
|
+
---
|
62
|
+
|
63
|
+
上記「nilじゃなかったとき」のキーは``apple``の場合も``grape``の場合もあり、辞書のキーは場合によってはさらに増やすことになるため、
|
64
|
+
|
65
|
+
動的に「**前回nilじゃなかったときのキーで引き出した値**」としたいのです
|
66
|
+
|
67
|
+
|
68
|
+
|
61
69
|
###試したこと
|
62
70
|
|
63
71
|
オプショナルバインディングでどうにかなるのだろうか、と考えてみましたが、
|
1
コードの追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
###具体例
|
20
20
|
|
21
|
-
たとえば``var dic = ["apple":"りんご", "grape":"ぶどう", "peach":"もも"]``という辞書があったとき、
|
21
|
+
たとえば``var dict = ["apple":"りんご", "grape":"ぶどう", "peach":"もも"]``という辞書があったとき、
|
22
22
|
|
23
23
|
1)UITextFieldに``apple``と入力する
|
24
24
|
|
@@ -36,15 +36,33 @@
|
|
36
36
|
|
37
37
|
|
38
38
|
|
39
|
+
つまり、
|
40
|
+
|
41
|
+
|
42
|
+
|
43
|
+
```swift
|
44
|
+
|
45
|
+
if 辞書キーがnil {
|
46
|
+
|
47
|
+
valueLabel.text = 前回nilじゃなかったときに引き出した値
|
48
|
+
|
49
|
+
} else {
|
50
|
+
|
51
|
+
valueLabel.text = dict[textField.text!]
|
52
|
+
|
53
|
+
}
|
54
|
+
|
55
|
+
```
|
56
|
+
|
57
|
+
としたいのです・・・
|
58
|
+
|
39
59
|
|
40
60
|
|
41
61
|
###試したこと
|
42
62
|
|
43
63
|
オプショナルバインディングでどうにかなるのだろうか、と考えてみましたが、
|
44
64
|
|
45
|
-
前回の存在する辞書キーによって表示された値を保持しておく方法がやはりわかりません・・・
|
65
|
+
**前回の「存在する辞書キー」によって表示された値**を保持しておく方法がやはりわかりません・・・
|
46
|
-
|
47
|
-
|
48
66
|
|
49
67
|
###補足情報(言語/FW/ツール等のバージョンなど)
|
50
68
|
|