質問編集履歴

1

回答を参考に新たなコードを作成しました。

2019/12/24 15:18

投稿

Peter_Coter
Peter_Coter

スコア6

test CHANGED
File without changes
test CHANGED
@@ -1,3 +1,73 @@
1
+ ### コードの修正及び新たな疑問点
2
+
3
+ お二方とも回答・ご指摘ありがとうございます。
4
+
5
+ いただいた助言をもとに下記のように書き直しました。
6
+
7
+
8
+
9
+ ```swift
10
+
11
+ let date = NSDate()
12
+
13
+ let format = DateFormatter()
14
+
15
+ format.locale = Locale(identifier:"ja_JP")
16
+
17
+ format.dateFormat = "HH:mm"
18
+
19
+ let nowdate = format.string(from: date as Date)
20
+
21
+ print(nowdate) //現在時刻を出力,(String型)
22
+
23
+ let nowdateA = format.date(from: nowdate)
24
+
25
+ print(type(of: nowdateA)) //Optional<Date>型
26
+
27
+
28
+
29
+ let A: Date! = format.date(from: "13:00")
30
+
31
+ let B: Date! = format.date(from: "18:00")
32
+
33
+ let C: Date! = format.date(from: "21:00")
34
+
35
+ let table:[Date] = [A, B, C]
36
+
37
+ for table in table{
38
+
39
+ print("(table)")
40
+
41
+ }
42
+
43
+ print(type(of: table)) //Array<Date>型
44
+
45
+
46
+
47
+ let subtime = table.map { $0 - nowdateA} //ここでコンパイルエラー
48
+
49
+ ```
50
+
51
+ エラー内容は次の通りです。
52
+
53
+ Value of optional type 'Date?' must be unwrapped to a value of type 'Date'
54
+
55
+
56
+
57
+ アンラップについて色々と調べ、nowdateA!やnowdateA?等やってみたのですがうまくいきません。
58
+
59
+ そこで、Optional<Date>型のアンラップ方法について教えていただければと思います。
60
+
61
+
62
+
63
+ 見辛いコードで申し訳ありませんがよろしくお願いいたします。
64
+
65
+
66
+
67
+ ---追記ここまで----
68
+
69
+
70
+
1
71
  ### 前提・実現したいこと
2
72
 
3
73
  1. swift4で、date型の配列を作成したいです。