質問編集履歴

4

加筆

2017/08/21 11:35

投稿

mitci
mitci

スコア37

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

タイトル分かりやすく変更しました

2017/08/21 11:35

投稿

mitci
mitci

スコア37

test CHANGED
@@ -1 +1 @@
1
- Swift3 辞書のキーで呼び出した値がnilだったとき、前回結果そのままにする
1
+ Swift3 辞書のキーがnilだったとき、nilじゃないキーを指定したとき(UILabelに)表示したままにする
test CHANGED
File without changes

2

追記

2017/08/21 11:33

投稿

mitci
mitci

スコア37

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

コードの追記

2017/08/21 11:27

投稿

mitci
mitci

スコア37

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