質問編集履歴

1

getcellのプロパティなどのコードを削除

2021/01/22 14:49

投稿

dai01
dai01

スコア1

test CHANGED
File without changes
test CHANGED
@@ -42,18 +42,6 @@
42
42
 
43
43
 
44
44
 
45
-
46
-
47
- // Realmインスタンスを取得する
48
-
49
- let realm = try! Realm()
50
-
51
-
52
-
53
-
54
-
55
-
56
-
57
45
 
58
46
 
59
47
 
@@ -78,10 +66,6 @@
78
66
 
79
67
 
80
68
 
81
- var categoryEnglish = ["動詞","名詞","形容詞"]
82
-
83
-
84
-
85
69
  override func viewDidLoad() {
86
70
 
87
71
  super.viewDidLoad()
@@ -96,326 +80,142 @@
96
80
 
97
81
 
98
82
 
83
+
84
+
85
+ doushi = koukoudoushi
86
+
99
- switch getCell {
87
+ meishi = koukoumeishi
88
+
89
+
90
+
91
+
92
+
93
+
94
+
100
-
95
+ // データの数(=セルの数)を返すメソッド
96
+
97
+ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
98
+
99
+
100
+
101
+ return wordmeanings[section].keys.count
102
+
103
+
104
+
105
+ }
106
+
107
+
108
+
101
- // 0とき
109
+ // 各セル内容を返すメソッド
110
+
102
-
111
+ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
112
+
103
- case 0:
113
+ // 再利用可能な cell を得る
114
+
115
+ let cell = tableView.dequeueReusableCell(withIdentifier: "tableCell", for: indexPath)
116
+
117
+
118
+
119
+
104
120
 
105
121
  doushi = koukoudoushi
106
122
 
107
123
  meishi = koukoumeishi
108
124
 
125
+
126
+
127
+
128
+
109
-
129
+ let base1 = cell.viewWithTag(1) as! UILabel//英単語のlable
130
+
110
-
131
+ base1.text = Array(wordmeanings[indexPath.section].keys)[indexPath.row]
132
+
133
+
134
+
135
+ let base2 = cell.viewWithTag(2) as! UILabel//単語の意味のlabel
136
+
137
+ base2.text = Array(wordmeanings[indexPath.section].values)[indexPath.row]
138
+
139
+ base2.lineBreakMode = .byCharWrapping//意味ラベルの改行の種類
140
+
141
+ base2.numberOfLines = 5//改行の行数
142
+
143
+
144
+
145
+ return cell
146
+
147
+ }
148
+
149
+
150
+
151
+
152
+
153
+
154
+
155
+
156
+
157
+ @IBAction func toMyListButton(_ sender: Any) {
158
+
159
+
160
+
161
+
162
+
163
+ if giveWord == ""{
164
+
165
+ giveWord = "選択されたテキストの値を取得できるようにする"
166
+
167
+ giveMeaning = "選択されたテキストの値を取得できるようにする"
168
+
111
- default:
169
+ } else{**
170
+
112
-
171
+ giveWord = "選択されたテキストの値を取得できるようにする"
172
+
113
- break
173
+ giveMeaning = "選択されたテキストの値を取得できるようにする"
114
174
 
115
175
  }
116
176
 
117
- wordmeanings = doushi
118
-
119
-
120
-
121
- }
177
+ }
122
-
178
+
179
+
180
+
123
- //カテゴリー選択
181
+ // segue で画面遷移する時に呼ばれる
124
-
182
+
125
- @IBAction func pickerButton(_ sender: Any) {
183
+ override func prepare(for segue: UIStoryboardSegue, sender: Any?){
126
-
127
-
128
-
129
- //アラート生成
184
+
130
-
131
- //UIAlertControllerのスタイルがactionSheet
132
-
133
- let actionSheet = UIAlertController(title: "MENU", message: "", preferredStyle: UIAlertController.Style.actionSheet)
134
-
135
-
136
-
137
- // 表示させたいタイトル1ボタンが押された時の処理をクロージャ実装する
138
-
139
- let action1 = UIAlertAction(title: "動詞", style: UIAlertAction.Style.default, handler: {
185
+ let inputViewController:InputViewController = segue.destination as! InputViewController
186
+
187
+
188
+
140
-
189
+ if segue.identifier == "toMyListSegue"{
190
+
141
- (action: UIAlertAction!) in
191
+ let list = List()
142
-
143
- //実際の処理
144
-
145
- self.wordmeanings = self.doushi
146
-
147
- self.baseTableView.reloadData()
148
192
 
149
193
 
150
194
 
151
- print("表示させたいタイトル1の処理")
195
+ let allLists = realm.objects(List.self)
196
+
152
-
197
+ if allLists.count != 0 {
198
+
199
+ list.id = allLists.max(ofProperty: "id")! + 1
200
+
201
+
202
+
203
+ let toMyList = segue.destination as! InputViewController
204
+
205
+ toMyList.receiveWord = giveWord
206
+
207
+ toMyList.receiveMeaning = giveMeaning
208
+
209
+
210
+
153
- })
211
+ }
154
-
155
- // 表示させたいタイトル2ボタンが押された時の処理をクロージャ実装する
156
-
157
- let action2 = UIAlertAction(title: "名詞", style: UIAlertAction.Style.default, handler: {
158
-
159
- (action: UIAlertAction!) in
160
-
161
- //実際の処理
162
-
163
- self.wordmeanings = self.meishi
164
-
165
- self.baseTableView.reloadData()
166
212
 
167
213
 
168
214
 
169
- print("表示させたいタイトル2の処理")
170
-
171
-
172
-
173
- })
174
-
175
-
176
-
177
-
178
-
179
- // 閉じるボタンが押された時の処理をクロージャ実装する
180
-
181
- //UIAlertActionのスタイルがCancelなので赤く表示される
182
-
183
- let close = UIAlertAction(title: "閉じる", style: UIAlertAction.Style.destructive, handler: {
184
-
185
- (action: UIAlertAction!) in
215
+ inputViewController.list = list
186
-
187
- //実際の処理
188
-
189
- print("閉じる")
190
-
191
- })
192
-
193
-
194
-
195
- //UIAlertControllerにタイトル1ボタンとタイトル2ボタンと閉じるボタンをActionを追加
196
-
197
- actionSheet.addAction(action1)
198
-
199
- actionSheet.addAction(action2)
200
-
201
- actionSheet.addAction(close)
202
-
203
-
204
-
205
- //実際にAlertを表示する
206
-
207
- self.present(actionSheet, animated: true, completion: nil)
208
-
209
-
210
-
211
- }
212
-
213
-
214
-
215
- // データの数(=セルの数)を返すメソッド
216
-
217
- func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
218
-
219
-
220
-
221
- return wordmeanings[section].keys.count
222
-
223
-
224
-
225
- }
226
-
227
-
228
-
229
- // 各セルの内容を返すメソッド
230
-
231
- func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
232
-
233
- // 再利用可能な cell を得る
234
-
235
- let cell = tableView.dequeueReusableCell(withIdentifier: "tableCell", for: indexPath)
236
-
237
-
238
-
239
- switch getCell {
240
-
241
- // 0のとき
242
-
243
- case 0:
244
-
245
- doushi = koukoudoushi
246
-
247
- meishi = koukoumeishi
248
-
249
- default:
250
-
251
- break
252
216
 
253
217
  }
254
218
 
255
-
256
-
257
-
258
-
259
- let base1 = cell.viewWithTag(1) as! UILabel//英単語のlable
260
-
261
- base1.text = Array(wordmeanings[indexPath.section].keys)[indexPath.row]
262
-
263
-
264
-
265
- let base2 = cell.viewWithTag(2) as! UILabel//単語の意味のlabel
266
-
267
- base2.text = Array(wordmeanings[indexPath.section].values)[indexPath.row]
268
-
269
- base2.lineBreakMode = .byCharWrapping//意味ラベルの改行の種類
270
-
271
- base2.numberOfLines = 5//改行の行数
272
-
273
-
274
-
275
- return cell
276
-
277
- }
278
-
279
-
280
-
281
- // Cell の高さを120にする
282
-
283
- func tableView(_ table: UITableView,
284
-
285
- heightForRowAt indexPath: IndexPath) -> CGFloat {
286
-
287
- return 120.0
288
-
289
- }
290
-
291
- //section設定
292
-
293
- func numberOfSections(in tableView: UITableView) -> Int {
294
-
295
- return wordmeanings.count
296
-
297
- }
298
-
299
- //sectionのテキスト表示の設定
300
-
301
- func tableView(_ tableView: UITableView, viewForHeaderInSection section: Int) -> UIView? {
302
-
303
-
304
-
305
- //sectionの数とタイトルを設定
306
-
307
- switch section {
308
-
309
- case 0:
310
-
311
- label.text = "A"
312
-
313
- case 1:
314
-
315
- label.text = "B"
316
-
317
- case 2:
318
-
319
- label.text = "C"
320
-
321
- default:
322
-
323
- break
324
-
325
- }
326
-
327
- return label
328
-
329
- }
330
-
331
- //sectionの高さの設定
332
-
333
- func tableView(_ tableView: UITableView, heightForHeaderInSection section: Int) -> CGFloat {
334
-
335
- return 50
336
-
337
- }
338
-
339
-
340
-
341
- func sectionIndexTitles(for tableView: UITableView) -> [String]? {
342
-
343
- return ["A","B","C","D","E","F","G","H","I","J","K","L","M","N","O","P","Q","R","S","T","U","V","W","X","Y","Z"] // インデックスバーの文字設定
344
-
345
- }
346
-
347
- // 特殊なことをしないのであれば特に実装しなくても対象のセクションが表示される
348
-
349
- func tableView(_ tableView: UITableView, sectionForSectionIndexTitle title: String, at index: Int) -> Int {
350
-
351
- return index
352
-
353
- }
354
-
355
-
356
-
357
- @IBAction func toMyListButton(_ sender: Any) {
358
-
359
-
360
-
361
-
362
-
363
- if giveWord == ""{
364
-
365
- giveWord = "選択されたテキストの値を取得できるようにする"
366
-
367
- giveMeaning = "選択されたテキストの値を取得できるようにする"
368
-
369
- } else{**
370
-
371
- giveWord = "選択されたテキストの値を取得できるようにする"
372
-
373
- giveMeaning = "選択されたテキストの値を取得できるようにする"
374
-
375
- }
376
-
377
- }
378
-
379
-
380
-
381
- // segue で画面遷移する時に呼ばれる
382
-
383
- override func prepare(for segue: UIStoryboardSegue, sender: Any?){
384
-
385
- let inputViewController:InputViewController = segue.destination as! InputViewController
386
-
387
-
388
-
389
- if segue.identifier == "toMyListSegue"{
390
-
391
- let list = List()
392
-
393
-
394
-
395
- let allLists = realm.objects(List.self)
396
-
397
- if allLists.count != 0 {
398
-
399
- list.id = allLists.max(ofProperty: "id")! + 1
400
-
401
-
402
-
403
- let toMyList = segue.destination as! InputViewController
404
-
405
- toMyList.receiveWord = giveWord
406
-
407
- toMyList.receiveMeaning = giveMeaning
408
-
409
-
410
-
411
- }
412
-
413
-
414
-
415
- inputViewController.list = list
416
-
417
- }
418
-
419
219
  }
420
220
 
421
221