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

質問編集履歴

1

テストコードの出力結果を追記しました。

2018/10/06 07:54

投稿

ishiishiyay
ishiishiyay

スコア33

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)が複数ある状態です。