回答編集履歴

2

追記しました。

2018/04/07 21:31

投稿

newmt
newmt

スコア1277

test CHANGED
@@ -18,7 +18,25 @@
18
18
 
19
19
  ```
20
20
 
21
+ class ViewController: UIVIewController {
21
22
 
23
+
24
+
25
+ // これはCellからViewControllerに移動する
26
+
27
+ // VieWillAppearなどで値は取得している前提で話を進めます
28
+
29
+ var postArray: [PostData] = []
30
+
31
+
32
+
33
+
34
+
35
+ ```
36
+
37
+
38
+
39
+ ```
22
40
 
23
41
  // ViewControllerの中のセルを設定しているメソッド
24
42
 
@@ -30,9 +48,29 @@
30
48
 
31
49
 
32
50
 
33
- // UITextFieldDelegateを設定
51
+ //UITextFieldDelegateを設定
34
52
 
35
53
  cell.textField.delegate = self
54
+
55
+
56
+
57
+ //②どのセルのUITextFieldかを知りたい場合は
58
+
59
+ //tagに番号をつけて区別できるようにする方法などもあります
60
+
61
+    cell.textField.tag = indexPath.row
62
+
63
+
64
+
65
+ // postArrayの中からcellに表示したいデータを取得する
66
+
67
+ let post = postArray[indexPath.row]
68
+
69
+
70
+
71
+ // cellに値を設定する
72
+
73
+ cell.setPostData(post)
36
74
 
37
75
 
38
76
 
@@ -50,6 +88,12 @@
50
88
 
51
89
 
52
90
 
91
+ // ①上記でUITextFieldのdelegateにViewControllerを設定しているため、
92
+
93
+ // 下記のメソッドで全てのセルのUITextFieldの処理を受け取ることができる
94
+
95
+
96
+
53
97
  /*
54
98
 
55
99
  UITextFieldが編集された直前に呼ばれる
@@ -57,6 +101,12 @@
57
101
  */
58
102
 
59
103
  func textFieldDidBeginEditing(_ textField: UITextField) {
104
+
105
+
106
+
107
+ // ②上記で設定したtextField.tagからどの行のUITextFieldかを知ることができます。
108
+
109
+ print("tag: (textField.tag)")
60
110
 
61
111
  print("textFieldDidBeginEditing: (textField.text!)")
62
112
 

1

追記しました。

2018/04/07 21:31

投稿

newmt
newmt

スコア1277

test CHANGED
@@ -33,6 +33,10 @@
33
33
  // UITextFieldDelegateを設定
34
34
 
35
35
  cell.textField.delegate = self
36
+
37
+
38
+
39
+ // (以下略)
36
40
 
37
41
  }
38
42