質問編集履歴

6

上書き&起動後のprint出力を更新しました。

2019/05/09 14:23

投稿

AppDvl
AppDvl

スコア58

test CHANGED
File without changes
test CHANGED
@@ -108,25 +108,31 @@
108
108
 
109
109
 
110
110
 
111
+ print出力を更新しました。\\\\\\\\\\\\\\\\
112
+
113
+
114
+
111
115
  xcodeのシミュレーターを確認しながら
112
116
 
113
117
  ・・・まずViewControllerで2回スタートボタンを押しました。
114
118
 
115
119
 
116
120
 
117
- 呼び出しuserTextは
121
+ 呼び出しuserTextは1.19/05/09 23:12:19 Thu,
122
+
118
-
123
+ 2.19/05/09 23:12:25 Thu,
119
-
120
-
124
+
125
+
126
+
121
- ftTextは1.19/05/08 19:29:28 Wed,
127
+ ftTextは1.19/05/09 23:13:30 Thu,
122
-
128
+
123
- 2.19/05/08 19:29:32 Wed,
129
+ 2.19/05/09 23:13:33 Thu,
124
-
125
-
126
-
130
+
131
+
132
+
127
- userTextは1.19/05/08 19:29:28 Wed,
133
+ userTextは1.19/05/09 23:13:30 Thu,
128
-
134
+
129
- 2.19/05/08 19:29:32 Wed,
135
+ 2.19/05/09 23:13:33 Thu,
130
136
 
131
137
 
132
138
 
@@ -134,37 +140,51 @@
134
140
 
135
141
 
136
142
 
137
- 呼び出しuserTextは1.19/05/08 19:29:28 Wed,
138
-
139
- 2.19/05/08 19:29:32 Wed,
140
-
141
-
142
-
143
- ftTextは1.19/05/08 19:29:28 Wed,
144
-
145
- 2.19/05/08 19:29:32 Wed,
146
-
147
- 3.19/05/08 19:29:42 Wed,
148
-
149
-
150
-
151
- userTextは1.19/05/08 19:29:28 Wed,
152
-
153
- 2.19/05/08 19:29:32 Wed,
154
-
155
- 3.19/05/08 19:29:42 Wed,
156
-
157
-
158
-
159
- ・・・ここでアプリを起動してdetailsViewControllerを表示しても空欄のままです
160
-
161
-
162
-
163
- 2019-05-08 19:40:45.876393+0900 testTimer[6412:200174] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/mbp13/Library/Developer/CoreSimulator/Devices/CD10E826-31C1-481D-9AD7-2803B9590B48/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
164
-
165
- 2019-05-08 19:40:45.878443+0900 testTimer[6412:200174] [MC] Reading from private effective user settings.
166
-
167
- Message from debugger: Terminated due to signal 9
143
+ 呼び出しuserTextは1.19/05/09 23:13:30 Thu,
144
+
145
+ 2.19/05/09 23:13:33 Thu,
146
+
147
+
148
+
149
+ ftTextは1.19/05/09 23:13:30 Thu,
150
+
151
+ 2.19/05/09 23:13:33 Thu,
152
+
153
+ 3.19/05/09 23:15:50 Thu,
154
+
155
+
156
+
157
+ userTextは1.19/05/09 23:13:30 Thu,
158
+
159
+ 2.19/05/09 23:13:33 Thu,
160
+
161
+ 3.19/05/09 23:15:50 Thu,
162
+
163
+
164
+
165
+ ・・・ここでアプリを上書き&起動してdetailsViewControllerを表示。
166
+
167
+
168
+
169
+ 呼び出しuserText1.19/05/09 23:13:30 Thu,
170
+
171
+ 2.19/05/09 23:13:33 Thu,
172
+
173
+ 3.19/05/09 23:15:50 Thu,
174
+
175
+
176
+
177
+ ftTextは
178
+
179
+ userTextは
180
+
181
+ ・・・となっています。
182
+
183
+ しかし、シミュレーターの「@IBOutlet weak var dateText: UITextView!」は空白のままです。
184
+
185
+
186
+
187
+
168
188
 
169
189
 
170
190
 

5

デバックエリアの表示(”printの出力”?)を記入しました。

2019/05/09 14:23

投稿

AppDvl
AppDvl

スコア58

test CHANGED
File without changes
test CHANGED
@@ -104,6 +104,72 @@
104
104
 
105
105
 
106
106
 
107
+ デバックエリアの表示(これが”printの出力”のことでしょうか?言葉の意味もわからず、お恥ずかしいです。)
108
+
109
+
110
+
111
+ xcodeのシミュレーターを確認しながら
112
+
113
+ ・・・まずViewControllerで2回スタートボタンを押しました。
114
+
115
+
116
+
117
+ 呼び出しuserTextは
118
+
119
+
120
+
121
+ ftTextは1.19/05/08 19:29:28 Wed,
122
+
123
+ 2.19/05/08 19:29:32 Wed,
124
+
125
+
126
+
127
+ userTextは1.19/05/08 19:29:28 Wed,
128
+
129
+ 2.19/05/08 19:29:32 Wed,
130
+
131
+
132
+
133
+ ・・・次にdetailsViewControllerで時間が表示されていことを確認し、ViewControllerで1回スタートボタンを押しました。
134
+
135
+
136
+
137
+ 呼び出しuserTextは1.19/05/08 19:29:28 Wed,
138
+
139
+ 2.19/05/08 19:29:32 Wed,
140
+
141
+
142
+
143
+ ftTextは1.19/05/08 19:29:28 Wed,
144
+
145
+ 2.19/05/08 19:29:32 Wed,
146
+
147
+ 3.19/05/08 19:29:42 Wed,
148
+
149
+
150
+
151
+ userTextは1.19/05/08 19:29:28 Wed,
152
+
153
+ 2.19/05/08 19:29:32 Wed,
154
+
155
+ 3.19/05/08 19:29:42 Wed,
156
+
157
+
158
+
159
+ ・・・ここでアプリを再起動してdetailsViewControllerを表示しても空欄のままです。
160
+
161
+
162
+
163
+ 2019-05-08 19:40:45.876393+0900 testTimer[6412:200174] [MC] System group container for systemgroup.com.apple.configurationprofiles path is /Users/mbp13/Library/Developer/CoreSimulator/Devices/CD10E826-31C1-481D-9AD7-2803B9590B48/data/Containers/Shared/SystemGroup/systemgroup.com.apple.configurationprofiles
164
+
165
+ 2019-05-08 19:40:45.878443+0900 testTimer[6412:200174] [MC] Reading from private effective user settings.
166
+
167
+ Message from debugger: Terminated due to signal 9
168
+
169
+
170
+
171
+
172
+
107
173
  ```swift
108
174
 
109
175
  AppDelegate.swift

4

すべてのコードを記載しました。

2019/05/08 10:43

投稿

AppDvl
AppDvl

スコア58

test CHANGED
File without changes
test CHANGED
@@ -40,6 +40,8 @@
40
40
 
41
41
  userDefaults.set(nil, forKey: "userText") //で永続データを一旦初期化してみましたが、解決しません。
42
42
 
43
+ 「for文の中でdate.textに代入するとメモリをたくさん使う」外側に出しました。
44
+
43
45
 
44
46
 
45
47
  ### 補足情報(FW/ツールのバージョンなど)
@@ -52,7 +54,7 @@
52
54
 
53
55
 
54
56
 
55
- ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
57
+ ・・・・・・・・
56
58
 
57
59
  追記
58
60
 
@@ -102,7 +104,9 @@
102
104
 
103
105
 
104
106
 
105
- ```swift4
107
+ ```swift
108
+
109
+ AppDelegate.swift
106
110
 
107
111
 
108
112
 
@@ -114,8 +118,6 @@
114
118
 
115
119
 
116
120
 
117
-
118
-
119
121
  @UIApplicationMain
120
122
 
121
123
  class AppDelegate: UIResponder, UIApplicationDelegate {
@@ -128,27 +130,303 @@
128
130
 
129
131
  func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
130
132
 
133
+ // Override point for customization after application launch.
134
+
131
135
  return true
132
136
 
133
137
  }
134
138
 
135
- func applicationWillResignActive(_ application: UIApplication) {
136
-
137
- }
138
-
139
- func applicationDidEnterBackground(_ application: UIApplication) {
140
-
141
- }
142
-
143
- func applicationWillEnterForeground(_ application: UIApplication) {
144
-
145
- }
146
-
147
- func applicationDidBecomeActive(_ application: UIApplication) {
148
-
149
- }
150
-
151
- func applicationWillTerminate(_ application: UIApplication) {
139
+
140
+
141
+ import UIKit
142
+
143
+ ViewControllerファイル
144
+
145
+
146
+
147
+ class ViewController: UIViewController {
148
+
149
+
150
+
151
+ var userTimer:Int = 0
152
+
153
+ var userSecTimer:Int = 0
154
+
155
+ var count = 0.0
156
+
157
+ var elapsedTime = 0.0
158
+
159
+ var timer = Timer()
160
+
161
+ var stopDate = Date()
162
+
163
+ var startDate = Date()
164
+
165
+
166
+
167
+ @IBOutlet weak var minButton: UIButton!
168
+
169
+ @IBOutlet weak var secButton: UIButton!
170
+
171
+ @IBOutlet weak var reset: UIButton!
172
+
173
+ @IBOutlet weak var startButton: UIButton!
174
+
175
+ @IBOutlet weak var stopButton: UIButton!
176
+
177
+ @IBOutlet weak var timerLabel: UILabel!
178
+
179
+
180
+
181
+ var secLabel:UILabel!
182
+
183
+ var msecLabel:UILabel!
184
+
185
+
186
+
187
+
188
+
189
+ override func viewDidLoad() {
190
+
191
+ super.viewDidLoad()
192
+
193
+
194
+
195
+ }
196
+
197
+
198
+
199
+
200
+
201
+
202
+
203
+ override func viewDidAppear(_ animated: Bool) {
204
+
205
+ super.viewDidAppear(animated)
206
+
207
+ if count == 0.0 {
208
+
209
+ setButtonEnabled(true, true, false, false, false)
210
+
211
+ }else if timer.isValid == false { //タイマーが止まっていたら
212
+
213
+ setButtonEnabled(false, false, true, false, true)
214
+
215
+ }else{
216
+
217
+ setButtonEnabled(false, false, false, true, true)
218
+
219
+ }
220
+
221
+ }
222
+
223
+
224
+
225
+
226
+
227
+ //タイマーの処理
228
+
229
+ @objc func timerAction(sender:Timer){
230
+
231
+
232
+
233
+ let minCount = Int(count)/60
234
+
235
+ let secCount = Int(count) % 60
236
+
237
+ let msecCount = Int((count - Double(minCount * 60) - Double(secCount)) * 100.0)
238
+
239
+ timerLabel.text = String(format:"%02d:%02d:%02d",minCount,secCount,msecCount)//%02dで整数を表示
240
+
241
+
242
+
243
+ count -= 0.1
244
+
245
+
246
+
247
+ if count <= 0.0{
248
+
249
+
250
+
251
+ sender.invalidate() //止める
252
+
253
+ timerLabel.text = String(format:"%02d:%02d:%02d",0,0)
254
+
255
+ setButtonEnabled(true, true, false, false, false)
256
+
257
+ userTimer = 0
258
+
259
+ userSecTimer = 0
260
+
261
+ elapsedTime = 0
262
+
263
+ count = 0
264
+
265
+ }
266
+
267
+ }
268
+
269
+ func setButtonEnabled(_ minButton:Bool,_ secButton:Bool,_ startButton:Bool,_ stopButton:Bool,_ reset:Bool){ //bool型の変数をisEnabledに代入
270
+
271
+ self.minButton.isEnabled = minButton
272
+
273
+ self.secButton.isEnabled = secButton
274
+
275
+ self.startButton.isEnabled = startButton
276
+
277
+ self.stopButton.isEnabled = stopButton
278
+
279
+ self.reset.isEnabled = reset
280
+
281
+ }
282
+
283
+
284
+
285
+ }
286
+
287
+
288
+
289
+ @IBAction func minButton(_ sender: Any) {
290
+
291
+ setButtonEnabled(true, true, true, false, true)
292
+
293
+ userTimer += 1
294
+
295
+ timerLabel.text = String(format:"%02d:%02d:%02d",userTimer,userSecTimer)
296
+
297
+
298
+
299
+ }
300
+
301
+
302
+
303
+ @IBAction func secButton(_ sender: Any) {
304
+
305
+ setButtonEnabled(true, true, true, false, true)
306
+
307
+
308
+
309
+ userSecTimer += 10
310
+
311
+ timerLabel.text = String(format:"%02d:%02d:%02d",userTimer,userSecTimer)
312
+
313
+ }
314
+
315
+
316
+
317
+ @IBAction func startButton(_ sender: Any) {
318
+
319
+ setButtonEnabled(false,false,false,true,false)
320
+
321
+
322
+
323
+
324
+
325
+ stopDate=Date()
326
+
327
+ // 時間の差を計算する
328
+
329
+ let dateComponents = Calendar.current.dateComponents([.year, .month, .day, .hour, .minute, .second, .nanosecond], from: startDate, to: stopDate)
330
+
331
+
332
+
333
+ if Int(dateComponents.second!) <= 2 { //2秒以内は配列に送らずにセットにカウントしない
334
+
335
+
336
+
337
+ }else{
338
+
339
+ //広域配列startDatesに追加していく
340
+
341
+ startDates.append(Date())
342
+
343
+
344
+
345
+ }
346
+
347
+
348
+
349
+ //タイマーの作成
350
+
351
+ func createTimer(){
352
+
353
+ count = (Double(userTimer) * 60 + Double(userSecTimer) + elapsedTime)
354
+
355
+
356
+
357
+ self.timer = Timer.scheduledTimer(timeInterval: 0.1,
358
+
359
+ target: self,
360
+
361
+ selector: #selector(self.timerAction(sender:)),
362
+
363
+ userInfo: nil,
364
+
365
+ repeats: true)
366
+
367
+ }
368
+
369
+ createTimer()
370
+
371
+ }
372
+
373
+
374
+
375
+ @IBAction func stopButton(_ sender: Any) {
376
+
377
+ setButtonEnabled(false, false, true, false, true)
378
+
379
+ // setAdjustsImageWhenDisabled()
380
+
381
+ stopDate = Date()
382
+
383
+
384
+
385
+ userTimer = 0
386
+
387
+ userSecTimer = 0
388
+
389
+ elapsedTime = count
390
+
391
+ self.timer.invalidate()//止める
392
+
393
+ }
394
+
395
+
396
+
397
+ @IBAction func reset(_ sender: Any) {
398
+
399
+ setButtonEnabled(true, true, false, false, false)
400
+
401
+ // setAdjustsImageWhenDisabled()
402
+
403
+ userTimer = 0
404
+
405
+ userSecTimer = 0
406
+
407
+ elapsedTime = 0
408
+
409
+ count = 0
410
+
411
+ timerLabel.text = String(format:"%02d:%02d:%02d",userTimer,userSecTimer)
412
+
413
+ self.timer.invalidate()//止める
414
+
415
+ }
416
+
417
+
418
+
419
+ @IBAction func transitionButton(_ sender: Any) {
420
+
421
+ setButtonEnabled(false, false, false, true, true)
422
+
423
+ userTimer = 0
424
+
425
+ userSecTimer = 0
426
+
427
+ elapsedTime = count
428
+
429
+
152
430
 
153
431
  }
154
432
 
@@ -156,14 +434,14 @@
156
434
 
157
435
 
158
436
 
159
- ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
437
+ ・・・・
160
-
161
-
162
438
 
163
439
 
164
440
 
165
441
  import UIKit
166
442
 
443
+ detailsViewControllerファイル
444
+
167
445
 
168
446
 
169
447
  class detailsViewController: UIViewController {
@@ -176,8 +454,6 @@
176
454
 
177
455
  var ttText:String = ""
178
456
 
179
- //@IBOutlet weak var dateText: UITextField!//textでは改行ができない
180
-
181
457
  @IBOutlet weak var dateText: UITextView!
182
458
 
183
459
  @IBAction func backButton(_ sender: Any) {
@@ -188,8 +464,6 @@
188
464
 
189
465
 
190
466
 
191
-
192
-
193
467
  var no = 1
194
468
 
195
469
  var non = 0
@@ -200,9 +474,7 @@
200
474
 
201
475
 
202
476
 
203
-
204
-
205
-
477
+
206
478
 
207
479
  override func viewDidLoad() {
208
480
 
@@ -214,19 +486,15 @@
214
486
 
215
487
 
216
488
 
217
-
218
-
219
489
  if userDefaults.object(forKey: "userText") != nil{
220
490
 
221
- // "userText"がnilでないときの処理
491
+ // "userText"がnilでないときの処理hh
222
492
 
223
493
  print("呼び出しuserTextは" + userDefaults.string(forKey: "userText")!) // テスト
224
494
 
225
- dateText.text! = userDefaults.string(forKey: "userText")! //永続化呼び出し
495
+ dateText.text = userDefaults.string(forKey: "userText")! //永続化呼び出し
226
-
227
-
228
-
229
-
496
+
497
+
230
498
 
231
499
  for _ in startDates {
232
500
 
@@ -252,12 +520,10 @@
252
520
 
253
521
 
254
522
 
255
-
256
-
257
-
258
-
259
523
  }
260
524
 
525
+
526
+
261
527
  print("ftTextは" + "(ftText)")
262
528
 
263
529
  userDefaults.set(ftText, forKey: "userText")//永続化で保存
@@ -282,7 +548,7 @@
282
548
 
283
549
  // staetDatesにデータ入っていれば処理する
284
550
 
285
-
551
+
286
552
 
287
553
  if startDates.count > 0{
288
554
 
@@ -292,31 +558,27 @@
292
558
 
293
559
  let startTime = dateformatter.string(from: startDates[counts])
294
560
 
295
- dateText.text = dateText.text! + String( non + 1 ) + "." + startTime + String(",\n") //順番大事dateText.text!に挿入されていくことに注意
561
+ btText = btText + String( non + 1 ) + "." + startTime + String(",\n") //順番大事dateText.text!に挿入されていくことに注意
296
562
 
297
563
  counts += 1
298
564
 
299
565
  non += 1
300
566
 
301
-
302
-
303
- btText = dateText.text
304
-
305
- userDefaults.set(btText, forKey: "userText")//永続化で保存
306
-
307
-
308
-
309
567
  }
310
568
 
311
-
312
-
313
569
  }
314
570
 
571
+ userDefaults.set(btText, forKey: "userText")//永続化で保存
572
+
573
+ dateText.text! = btText
574
+
315
575
  print("nilでbtTextは" + "(btText)")
316
576
 
317
- }
577
+ }
318
-
578
+
579
+
580
+
319
- }
581
+ }
320
582
 
321
583
  }
322
584
 

3

detailsViewControllerのviewDidLoad()で 下記の通り記録する直前にprintを入れて見ました,デバックエリアに表示されています。

2019/05/08 10:24

投稿

AppDvl
AppDvl

スコア58

test CHANGED
File without changes
test CHANGED
@@ -66,7 +66,7 @@
66
66
 
67
67
  detailsViewControllerのviewDidLoad()で
68
68
 
69
- 下記の通り記録する直前にprintを入れて見ましたデバックエリアに表示されませんでした
69
+ 下記の通り記録する直前にprintを入れて見ました,デバックエリアに表示されてい
70
70
 
71
71
 
72
72
 

2

2019/05/07 14:22

投稿

AppDvl
AppDvl

スコア58

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- 永続化できていると思う(不安)ですが、
5
+ 永続化できていると思う(不安)ですが、
6
6
 
7
7
  userDefaultsを呼び出してdateText.text!に代入しても表示されません。
8
8
 
@@ -86,7 +86,7 @@
86
86
 
87
87
  おおまかな処理の流れは
88
88
 
89
- 1,class ViewControllerタイマーのスタートボタンを押した時間を記録するして、
89
+ 1,class ViewControllerタイマーのスタートボタンを押した時間を記録して、
90
90
 
91
91
  AppDelegateのstartDates配列に渡す。
92
92
 

1

AppDelegateの内容を記載しました。テストのためにprintを入れました。処理の流れを追記しました。

2019/05/07 11:25

投稿

AppDvl
AppDvl

スコア58

test CHANGED
File without changes
test CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
 
18
18
 
19
- ■■な機能を実装中に以下のエラーメッセージが発生しました。
19
+
20
20
 
21
21
 
22
22
 
@@ -30,12 +30,142 @@
30
30
 
31
31
 
32
32
 
33
+
34
+
35
+ ### 試したこと
36
+
37
+
38
+
39
+ 型が合わないのかもしれないのでオプショナル型を調べて試しました。
40
+
41
+ userDefaults.set(nil, forKey: "userText") //で永続データを一旦初期化してみましたが、解決しません。
42
+
43
+
44
+
45
+ ### 補足情報(FW/ツールのバージョンなど)
46
+
47
+
48
+
49
+ xcode10.2.1
50
+
51
+ macはmacBookPro2012 retina
52
+
53
+
54
+
55
+ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
56
+
57
+ 追記
58
+
59
+
60
+
61
+ かなり長文になり、申し訳ありませんが下記の通りです。
62
+
63
+
64
+
65
+ 追加して試したこと
66
+
67
+ detailsViewControllerのviewDidLoad()で
68
+
69
+ 下記の通り記録する直前にprintを入れて見ましたがデバックエリアに表示されませんでした。
70
+
71
+
72
+
73
+ print("呼び出しuserTextは" + userDefaults.string(forKey: "userText")!) // テスト
74
+
75
+ dateText.text! = userDefaults.string(forKey: "userText")! //永続化呼び出し
76
+
77
+
78
+
79
+
80
+
81
+ アプリの目的
82
+
83
+ タイマーでスタートボタンを押した時間を記録して、スタートボタンを押した時間と回数を記録すること
84
+
85
+
86
+
87
+ おおまかな処理の流れは
88
+
89
+ 1,class ViewControllerタイマーのスタートボタンを押した時間を記録するして、
90
+
91
+ AppDelegateのstartDates配列に渡す。
92
+
93
+ 2,AppDelegat
94
+
95
+ startDates配列の設置
96
+
97
+ 3,detailsViewControllerでstartDates配列で一覧表を作成し表示する。
98
+
99
+   !!ここで躓いています!!
100
+
101
+ 4,アプリを閉じても消えず、再起動したら続きから記録する。
102
+
103
+
104
+
33
105
  ```swift4
34
106
 
107
+
108
+
35
109
  import UIKit
36
110
 
37
111
 
38
112
 
113
+ var startDates = [Date]() //広域変数
114
+
115
+
116
+
117
+
118
+
119
+ @UIApplicationMain
120
+
121
+ class AppDelegate: UIResponder, UIApplicationDelegate {
122
+
123
+
124
+
125
+ var window: UIWindow?
126
+
127
+
128
+
129
+ func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
130
+
131
+ return true
132
+
133
+ }
134
+
135
+ func applicationWillResignActive(_ application: UIApplication) {
136
+
137
+ }
138
+
139
+ func applicationDidEnterBackground(_ application: UIApplication) {
140
+
141
+ }
142
+
143
+ func applicationWillEnterForeground(_ application: UIApplication) {
144
+
145
+ }
146
+
147
+ func applicationDidBecomeActive(_ application: UIApplication) {
148
+
149
+ }
150
+
151
+ func applicationWillTerminate(_ application: UIApplication) {
152
+
153
+ }
154
+
155
+ }
156
+
157
+
158
+
159
+ ・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・・
160
+
161
+
162
+
163
+
164
+
165
+ import UIKit
166
+
167
+
168
+
39
169
  class detailsViewController: UIViewController {
40
170
 
41
171
  let userDefaults = UserDefaults.standard//永続化のインスタンス
@@ -80,15 +210,19 @@
80
210
 
81
211
 
82
212
 
213
+ // userDefaults.set(nil, forKey: "userText") //永久データを一旦 初期化
214
+
83
215
 
84
216
 
217
+
218
+
85
219
  if userDefaults.object(forKey: "userText") != nil{
86
220
 
87
221
  // "userText"がnilでないときの処理
88
222
 
89
-
223
+ print("呼び出しuserTextは" + userDefaults.string(forKey: "userText")!) // テスト
90
-
224
+
91
- dateText.text! = userDefaults.string(forKey: "userText")! //永続化呼び出し
225
+ dateText.text! = userDefaults.string(forKey: "userText")! //永続化呼び出し
92
226
 
93
227
 
94
228
 
@@ -148,7 +282,7 @@
148
282
 
149
283
  // staetDatesにデータ入っていれば処理する
150
284
 
151
- // 独自のカウントで次の処理(上)を制御する、初めてのときと、userTextが入っているときを区別する
285
+
152
286
 
153
287
  if startDates.count > 0{
154
288
 
@@ -180,108 +314,12 @@
180
314
 
181
315
  print("nilでbtTextは" + "(btText)")
182
316
 
183
-
184
-
185
- }
317
+ }
186
-
187
- // userDefaults.set(nil, forKey: "userText") //永久データを一旦初期化
318
+
188
-
189
-
190
-
191
- }
319
+ }
192
-
193
-
194
-
195
- //
320
+
196
-
197
- // let baning : String?
198
-
199
- // baning = UserDefaults.standard.string(forKey: "userText")
200
-
201
- //
202
-
203
- // if let baning = baning{
204
-
205
- // //nilでないときの処理
206
-
207
- // print("nilでなく(baning)")
208
-
209
- // dateText.text = baning
210
-
211
- // btText = dateText.text //AppDelegateに渡す
212
-
213
- // UserDefaults.standard.set(btText, forKey: "userText")//永続化で保存
214
-
215
- //
216
-
217
- // print(baning)
218
-
219
- // print(startDates.count)
220
-
221
- //
222
-
223
- // }else{
224
-
225
- // //nilのときの処理
226
-
227
- // print("nilで(baning ?? "default value やっぱりnil")")
228
-
229
- //
230
-
231
- // for _ in startDates { //staetDatesにデータ入っていれば処理する
232
-
233
- // let dateformatter = DateFormatter()
234
-
235
- // dateformatter.dateFormat = "yy/MM/dd HH:mm:ss E"
236
-
237
- // let startTime = dateformatter.string(from: startDates[counts])
238
-
239
- // dateText.text = dateText.text! + String( non + 1 ) + "." + startTime + String(",\n") /
240
-
241
- // counts += 1
242
-
243
- // non += 1
244
-
245
- //
246
-
247
- // }
248
-
249
- //
250
-
251
- // dateText.text = baning
252
-
253
- // btText = dateText.text //AppDelegateに渡す
254
-
255
- // UserDefaults.standard.set(btText, forKey: "userText")//永続化で保存
256
-
257
- //
258
-
259
-
260
-
261
-
262
-
263
- }
321
+ }
264
322
 
265
323
 
266
324
 
267
325
  ```
268
-
269
-
270
-
271
- ### 試したこと
272
-
273
-
274
-
275
- 型が合わないのかもしれないのでオプショナル型を調べて試しました。
276
-
277
- userDefaults.set(nil, forKey: "userText") //で永続データを一旦初期化してみましたが、解決しません。
278
-
279
-
280
-
281
- ### 補足情報(FW/ツールのバージョンなど)
282
-
283
-
284
-
285
- xcode10.2.1
286
-
287
- macはmacBookPro2012 retina