質問編集履歴

1

コードを追加

2017/07/18 14:13

投稿

meia
meia

スコア26

test CHANGED
File without changes
test CHANGED
@@ -12,7 +12,7 @@
12
12
 
13
13
  現在StoryBoardを編集しており、画面の切り替えはNavigationBarで行っているところです。
14
14
 
15
- Titleの変更はコードで行っていて、押したCellによってその内容が変わるようになっています。
15
+ Titleの変更はコードで行っていて、押したCellによってその内容が変わるようになっています。(すいません、年度別の方はStoryBoardでした)
16
16
 
17
17
 
18
18
 
@@ -34,12 +34,240 @@
34
34
 
35
35
  ```swift
36
36
 
37
+
38
+
37
- ここにご自身が実行したソースコードを書いてください
39
+ //年度別page.swift
40
+
41
+ class yearpage: UIViewController,UITableViewDelegate,UITableViewDataSource {
42
+
43
+
44
+
45
+ var delegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate
46
+
47
+
48
+
49
+ var yearList:[String] = ["110","109","108","107","106"]
50
+
51
+ var alphaList:[String] = ["A","B","C","D","E","F","G","H","I"]
52
+
53
+
54
+
55
+ var mainData:Array<Array<String>> = []
56
+
57
+ var rowArray:[String] = []
58
+
59
+
60
+
61
+ var dataList:[String] = []
62
+
63
+
64
+
65
+ @IBOutlet weak var YearTable: UITableView!
66
+
67
+
68
+
69
+
70
+
71
+ override func viewDidLoad() {
72
+
73
+ super.viewDidLoad()
74
+
75
+
76
+
77
+ mainData = self.delegate.mainData
78
+
79
+ rowArray = self.delegate.rowArray
80
+
81
+
82
+
83
+ }
84
+
85
+
86
+
87
+ override func viewWillAppear(_ animated: Bool) {
88
+
89
+ YearTable.reloadData()
90
+
91
+
92
+
93
+ if let nv = navigationController {
94
+
95
+ nv.setNavigationBarHidden(false, animated: true)
96
+
97
+ }
98
+
99
+ }
100
+
101
+
102
+
103
+
104
+
105
+ //セクションの個数を返す
106
+
107
+ func numberOfSections(in tableView: UITableView) -> Int {
108
+
109
+ return yearList.count
110
+
111
+ }
112
+
113
+
114
+
115
+
116
+
117
+ //セクション名を返す
118
+
119
+ func tableView(_ tableView:UITableView, titleForHeaderInSection section:Int) -> String?{
120
+
121
+ let yearNum = 2016 - (110 - Int(yearList[section])!)
122
+
123
+ let year = "(" + String(yearNum) + "年)"
124
+
125
+ let sectionName = "第" + yearList[section] + "回" + year
126
+
127
+ return sectionName
128
+
129
+ }
130
+
131
+
132
+
133
+
134
+
135
+ //選択されたセル番号を出力する
136
+
137
+ func tableView(_ tableView: UITableView, didSelectRowAt indexPath: IndexPath) {
138
+
139
+
140
+
141
+ let naviLabel = yearList[indexPath.section] + alphaList[indexPath.row]
142
+
143
+
144
+
145
+ dataList = []
146
+
147
+ for i in 0..<mainData.count - 1{
148
+
149
+ if mainData[i][0] == yearList[indexPath.section] && mainData[i][1] == alphaList[indexPath.row] {
150
+
151
+ dataList.append(rowArray[i])
152
+
153
+ }
154
+
155
+ }
156
+
157
+ self.delegate.naviLabel = naviLabel
158
+
159
+ self.delegate.dataList = dataList
160
+
161
+ }
162
+
163
+
38
164
 
39
165
  ```
40
166
 
41
167
 
42
168
 
169
+ ```swift
170
+
171
+ //問題リストpage.swift
172
+
173
+
174
+
175
+ class questionListPage: UIViewController,UITableViewDelegate,UITableViewDataSource {
176
+
177
+
178
+
179
+
180
+
181
+ @IBOutlet weak var myTable: UITableView!
182
+
183
+ @IBOutlet weak var naviLabel: UINavigationItem!
184
+
185
+
186
+
187
+ @IBOutlet var menuButtons: [UIButton]!
188
+
189
+
190
+
191
+ var delegate:AppDelegate = UIApplication.shared.delegate as! AppDelegate
192
+
193
+
194
+
195
+ var mainData:Array<Array<String>> = []
196
+
197
+ var dataList:[String] = []
198
+
199
+ var dataDetail:[String] = []
200
+
201
+
202
+
203
+ override func viewDidLoad() {
204
+
205
+ super.viewDidLoad()
206
+
207
+
208
+
209
+ dataList = self.delegate.dataList
210
+
211
+ naviLabel.title = self.delegate.naviLabel
212
+
213
+ }
214
+
215
+
216
+
217
+
218
+
219
+ override func viewWillAppear(_ animated: Bool) {
220
+
221
+ myTable.reloadData()
222
+
223
+
224
+
225
+ if let nv = navigationController {
226
+
227
+ nv.setNavigationBarHidden(false, animated: false)
228
+
229
+ }
230
+
231
+
232
+
233
+
234
+
235
+ var filteredData:Array<Array<String>> = []
236
+
237
+
238
+
239
+ dataList.forEach {
240
+
241
+ let items = $0.components(separatedBy: ",")
242
+
243
+ filteredData.append(items)
244
+
245
+ }
246
+
247
+
248
+
249
+ }
250
+
251
+
252
+
253
+ override func viewDidAppear(_ animated: Bool) {
254
+
255
+
256
+
257
+ if let nv = navigationController {
258
+
259
+ nv.hidesBarsOnSwipe = false
260
+
261
+ }
262
+
263
+
264
+
265
+ }
266
+
267
+
268
+
269
+ ```
270
+
43
271
  ###試したこと
44
272
 
45
273