質問編集履歴
1
テストコードの出力結果を追記しました。
title
CHANGED
File without changes
|
body
CHANGED
@@ -78,4 +78,41 @@
|
|
78
78
|
let numberOfMessages: Int = news.filter{ (key: String, value: Bool) -> Bool in return key == "listened" || value == false}.count
|
79
79
|
```
|
80
80
|
|
81
|
-
Contextual closure type '(New2) -> Bool' expects 1 argument, but 2 were used in closure body
|
81
|
+
Contextual closure type '(New2) -> Bool' expects 1 argument, but 2 were used in closure body
|
82
|
+
|
83
|
+
------------------------------------------------------
|
84
|
+
以下10/6追加
|
85
|
+
```Swift
|
86
|
+
|
87
|
+
var numberOfMessages: Int = news.filter {$0.listened == false}.count
|
88
|
+
news.enumerated().forEach {
|
89
|
+
print($0, $1.listened ?? "nil")
|
90
|
+
if let listened = $1.listened {
|
91
|
+
if listened {
|
92
|
+
numberOfMessages += 1
|
93
|
+
}
|
94
|
+
}
|
95
|
+
}
|
96
|
+
print("numberOfMessages =", numberOfMessages)
|
97
|
+
```
|
98
|
+
こちらの出力が、
|
99
|
+
0 false
|
100
|
+
numberOfMessages = 1
|
101
|
+
```Swift
|
102
|
+
//var numberOfMessages: Int = news.filter {$0.listened == false}.count
|
103
|
+
var numberOfMessages = 0
|
104
|
+
news.enumerated().forEach {
|
105
|
+
print($0, $1.listened ?? "nil")
|
106
|
+
if let listened = $1.listened {
|
107
|
+
if listened {
|
108
|
+
numberOfMessages += 1
|
109
|
+
}
|
110
|
+
}
|
111
|
+
}
|
112
|
+
print("numberOfMessages =", numberOfMessages)
|
113
|
+
```
|
114
|
+
こちらの出力が、
|
115
|
+
0 false
|
116
|
+
numberOfMessages = 0
|
117
|
+
|
118
|
+
です。両者とも、開いていないメッセージ(listened = false)が複数ある状態です。
|