回答編集履歴
3
修正
test
CHANGED
@@ -1,4 +1,4 @@
|
|
1
|
-
以下のようにすることで抽出、ソートできます、試してみてください。
|
1
|
+
`reduce`を使用してみました、以下のようにすることで抽出、ソートできます、試してみてください。
|
2
2
|
|
3
3
|
※ 2つの配列を一緒に作成しているので若干読みにくいかも、、、
|
4
4
|
|
2
修正
test
CHANGED
@@ -24,15 +24,15 @@
|
|
24
24
|
|
25
25
|
|
26
26
|
|
27
|
-
let
|
27
|
+
let yearStr = (str as NSString).substringToIndex(7)
|
28
28
|
|
29
29
|
let dayStr = (str as NSString).substringFromIndex(8)
|
30
30
|
|
31
31
|
|
32
32
|
|
33
|
-
if !result1.contains(
|
33
|
+
if !result1.contains(yearStr) {
|
34
|
-
|
34
|
+
|
35
|
-
result1 += [
|
35
|
+
result1 += [yearStr]
|
36
36
|
|
37
37
|
|
38
38
|
|
@@ -40,6 +40,8 @@
|
|
40
40
|
|
41
41
|
result2.append(array)
|
42
42
|
|
43
|
+
|
44
|
+
|
43
45
|
} else {
|
44
46
|
|
45
47
|
result2[result2.count - 1].append(dayStr)
|
@@ -82,20 +84,16 @@
|
|
82
84
|
|
83
85
|
@IBOutlet weak var tableView: UITableView!
|
84
86
|
|
85
|
-
|
86
|
-
|
87
|
-
|
88
|
-
|
89
87
|
var sectionTitleArray: [String] = []
|
90
88
|
|
89
|
+
var sectionDataArray: [[String]] = []
|
90
|
+
|
91
91
|
|
92
92
|
|
93
93
|
// Date Array
|
94
94
|
|
95
95
|
var dataArray = ["2016/08/26", "2016/08/26", "2016/08/26", "2016/08/01", "2016/07/27", "2016/05/26", "2016/05/25", "2015/02/21"]
|
96
96
|
|
97
|
-
var sectionDataArray: [[String]] = []
|
98
|
-
|
99
97
|
|
100
98
|
|
101
99
|
override func viewDidLoad() {
|
@@ -104,7 +102,7 @@
|
|
104
102
|
|
105
103
|
|
106
104
|
|
107
|
-
let resultArray
|
105
|
+
let resultArray = dataArray.reduce(([],[])) { (resultTuple, str) -> ([String], [[String]]) in
|
108
106
|
|
109
107
|
|
110
108
|
|
@@ -114,15 +112,15 @@
|
|
114
112
|
|
115
113
|
|
116
114
|
|
117
|
-
let
|
115
|
+
let yearStr = (str as NSString).substringToIndex(7)
|
118
116
|
|
119
117
|
let dayStr = (str as NSString).substringFromIndex(8)
|
120
118
|
|
121
119
|
|
122
120
|
|
123
|
-
if !result1.contains(
|
121
|
+
if !result1.contains(yearStr) {
|
124
|
-
|
122
|
+
|
125
|
-
result1 += [
|
123
|
+
result1 += [yearStr]
|
126
124
|
|
127
125
|
|
128
126
|
|
@@ -134,14 +132,10 @@
|
|
134
132
|
|
135
133
|
} else {
|
136
134
|
|
137
|
-
|
138
|
-
|
139
135
|
result2[result2.count - 1].append(dayStr)
|
140
136
|
|
141
137
|
}
|
142
138
|
|
143
|
-
|
144
|
-
|
145
139
|
return (result1, result2)
|
146
140
|
|
147
141
|
}
|
@@ -164,10 +158,6 @@
|
|
164
158
|
|
165
159
|
|
166
160
|
|
167
|
-
|
168
|
-
|
169
|
-
|
170
|
-
|
171
161
|
// MARK: - TableView Delegate & DataSource
|
172
162
|
|
173
163
|
|
1
修正
test
CHANGED
@@ -14,7 +14,7 @@
|
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
var resultArray
|
17
|
+
var resultArray = dataArray.reduce(([],[])) { (resultTuple, str) -> ([String], [[String]]) in
|
18
18
|
|
19
19
|
|
20
20
|
|