teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

5

解決方法の記載

2019/02/17 02:26

投稿

hik_
hik_

スコア42

title CHANGED
File without changes
body CHANGED
@@ -205,5 +205,58 @@
205
205
  }
206
206
  ```
207
207
 
208
+ ### 2/17 解決
209
+ ```ここに言語を入力
210
+ import UIKit
211
+
212
+ class ViewController: UIViewController {
213
+
214
+ @IBOutlet weak var label: UILabel!
215
+
216
+ override func viewDidLoad() {
217
+ super.viewDidLoad()
218
+ // Do any additional setup after loading the view, typically from a nib.
219
+ }
220
+
221
+ override func viewDidAppear(_ animated: Bool) {
222
+ super.viewDidAppear(animated)
223
+
224
+ if let _ = UserDefaults.standard.object(forKey: "text") as? String {
225
+ label.text = (UserDefaults.standard.object(forKey: "text") as! String)
226
+
227
+
228
+ }
229
+
230
+ }
231
+
232
+ }
233
+ ```
234
+
235
+ ```ここに言語を入力
236
+ import UIKit
237
+
238
+ class SecondViewController: UIViewController {
239
+
240
+
241
+ @IBOutlet weak var textField: UITextField!
242
+
243
+ override func viewDidLoad() {
244
+ super.viewDidLoad()
245
+
246
+ // textFieldの入力方法をナンバーパッドに設定
247
+ textField.keyboardType = UIKeyboardType.numberPad
248
+ }
249
+
250
+
251
+ @IBAction func okButton(_ sender: Any) {
252
+
253
+ UserDefaults.standard.set(textField.text, forKey: "text")
254
+
255
+ }
256
+
257
+ }
258
+
259
+ ```
260
+
208
261
  ### 補足情報(FW/ツールのバージョンなど)
209
262
  Swift4 Xcode10

4

情報の追加

2019/02/17 02:26

投稿

hik_
hik_

スコア42

title CHANGED
File without changes
body CHANGED
@@ -145,6 +145,65 @@
145
145
 
146
146
  }
147
147
  ```
148
+ ### 追記 2/16 ②
149
+ ```ここに言語を入力
150
+ import UIKit
148
151
 
152
+ class ViewController: UIViewController {
153
+
154
+ var date:String = ""
155
+ var dateBox = [String]()
156
+ @IBOutlet weak var label: UILabel!
157
+
158
+
159
+ override func viewDidLoad() {
160
+ super.viewDidLoad()
161
+
162
+
163
+ }
164
+
165
+ // ViewControllerを表示する度に処理
166
+ override func viewWillAppear(_ animated: Bool) {
167
+
168
+
169
+
170
+ dateBox.append(date)
171
+ UserDefaults.standard.set(dateBox, forKey: "DateA")
172
+
173
+ let defaults = UserDefaults.standard
174
+ let set = defaults.string(forKey: "DateA")
175
+ label.text = set
176
+
177
+ }
178
+
179
+ }
180
+ ```
181
+
182
+ ```ここに言語を入力
183
+ import UIKit
184
+
185
+ class SecondViewController: UIViewController {
186
+
187
+
188
+
189
+ @IBOutlet weak var textField: UITextField!
190
+
191
+
192
+ override func viewDidLoad() {
193
+ super.viewDidLoad()
194
+
195
+ textField.keyboardType = UIKeyboardType.numberPad
196
+ }
197
+
198
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
199
+ if segue.identifier == "aSegue" {
200
+ let ViewCon = segue.destination as! ViewController
201
+ ViewCon.date = textField.text // Value of optional type 'String?' must be unwrapped to a value of type 'String'
202
+ }
203
+ }
204
+
205
+ }
206
+ ```
207
+
149
208
  ### 補足情報(FW/ツールのバージョンなど)
150
209
  Swift4 Xcode10

3

情報の追加

2019/02/16 03:27

投稿

hik_
hik_

スコア42

title CHANGED
File without changes
body CHANGED
@@ -83,5 +83,68 @@
83
83
  UserDefautlsの基本やLabelに表示させる方法を調べているのですが、まだ実装出来ていません。
84
84
  ご教示頂けると幸いです。
85
85
 
86
+ ### 追記 2/16
87
+ 色々調べているとoverride func prepareとoverride func viewWillAppear(_ animated: Bool)
88
+ が使えるのではと思い以下のコードを書きましたが、エラーが起きている状況です。
89
+ ```ここに言語を入力
90
+ import UIKit
91
+
92
+ class ViewController: UIViewController {
93
+
94
+ var date:String?
95
+ var dateBox = [String]()
96
+ @IBOutlet weak var label: UILabel!
97
+
98
+
99
+ override func viewDidLoad() {
100
+ super.viewDidLoad()
101
+
102
+
103
+ }
104
+
105
+ // ViewControllerを表示する度に処理
106
+ override func viewWillAppear(_ animated: Bool) {
107
+
108
+
109
+
110
+ dateBox.append(date!) //Thread 1: Fatal error: Unexpectedly found nil while unwrapping an Optional value
111
+
112
+ UserDefaults.standard.set(dateBox, forKey: "DateA")
113
+
114
+ let defaults = UserDefaults.standard
115
+ let set = defaults.string(forKey: "DateA")
116
+ label.text = set
117
+
118
+ }
119
+
120
+ }
121
+ ```
122
+
123
+ ```ここに言語を入力
124
+ import UIKit
125
+
126
+ class SecondViewController: UIViewController {
127
+
128
+
129
+
130
+ @IBOutlet weak var textField: UITextField!
131
+
132
+
133
+ override func viewDidLoad() {
134
+ super.viewDidLoad()
135
+
136
+ textField.keyboardType = UIKeyboardType.numberPad
137
+ }
138
+
139
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?) {
140
+ if segue.identifier == "aSegue" {
141
+ let ViewCon = segue.destination as! ViewController
142
+ ViewCon.date = textField.text
143
+ }
144
+ }
145
+
146
+ }
147
+ ```
148
+
86
149
  ### 補足情報(FW/ツールのバージョンなど)
87
150
  Swift4 Xcode10

2

情報の追加

2019/02/15 15:19

投稿

hik_
hik_

スコア42

title CHANGED
File without changes
body CHANGED
@@ -7,9 +7,12 @@
7
7
  TextFieldに入力された数をUserDefautlsに保存する という所までは作れたのですが、
8
8
  UserDfautlsに保存されたTextFieldの入力内容をどうやってLabelに表示するのかが分からない状況です。
9
9
 
10
+ override func prepareで解決しないかも調べている状況です。
10
11
 
12
+
13
+
11
14
  ### 該当のソースコード
12
- 今現在分かる限りで書けているコードです。
15
+
13
16
  ```ここに言語名を入力
14
17
  import UIKit
15
18
 
@@ -61,7 +64,22 @@
61
64
  ```
62
65
 
63
66
  ### 試したこと
67
+ UserDefaultsを調べていて、色々試している状況です。
68
+ ```ここに言語を入力
69
+ import UIKit
64
70
 
71
+ class ViewController: UIViewController {
72
+
73
+ @IBOutlet weak var label: UILabel!
74
+
75
+
76
+ override func viewDidLoad() {
77
+ super.viewDidLoad()
78
+ label.text = date //Cannot assign value of type '[String]' to type 'String?'
79
+ }
80
+ }
81
+ ```
82
+
65
83
  UserDefautlsの基本やLabelに表示させる方法を調べているのですが、まだ実装出来ていません。
66
84
  ご教示頂けると幸いです。
67
85
 

1

書式の改善

2019/02/15 14:21

投稿

hik_
hik_

スコア42

title CHANGED
File without changes
body CHANGED
@@ -9,7 +9,7 @@
9
9
 
10
10
 
11
11
  ### 該当のソースコード
12
-
12
+ 今現在分かる限りで書けているコードです。
13
13
  ```ここに言語名を入力
14
14
  import UIKit
15
15