質問編集履歴

9

修正

2019/08/19 21:04

投稿

samson66
samson66

スコア35

test CHANGED
File without changes
test CHANGED
@@ -144,6 +144,8 @@
144
144
 
145
145
  ・if文をswitchでUISegmentedControl.selectedSegmentIndexを判定するように変更
146
146
 
147
+ ・NavigationControllerがあるとなぜかうまく動かなかったので削除
148
+
147
149
 
148
150
 
149
151
  ```ここに言語を入力

8

追記

2019/08/19 21:04

投稿

samson66
samson66

スコア35

test CHANGED
File without changes
test CHANGED
@@ -129,3 +129,127 @@
129
129
  storyboard画面
130
130
 
131
131
  ![イメージ説明](b5f4a973927c20c70a4c3d20b2b25c41.png)
132
+
133
+
134
+
135
+ 追記 8/20 5:50
136
+
137
+ 1からやり直し、以下の方法で一つのtableviewファイルに複数のデータを反映させることに成功
138
+
139
+
140
+
141
+ ・配列の法則に乗っ取り以下のように修正
142
+
143
+ data1.String(indexPath.row) → data1[indexPath.row]
144
+
145
+ ・if文をswitchでUISegmentedControl.selectedSegmentIndexを判定するように変更
146
+
147
+
148
+
149
+ ```ここに言語を入力
150
+
151
+ import UIKit
152
+
153
+
154
+
155
+ class ViewController: UIViewController {
156
+
157
+
158
+
159
+ @IBOutlet weak var segmentButton: UISegmentedControl!
160
+
161
+ @IBOutlet weak var tableview: UITableView!
162
+
163
+
164
+
165
+ let data1 = ["dog","cat","fish","pug"]
166
+
167
+ let data2 = ["river","forest","sea","mountain"]
168
+
169
+
170
+
171
+ override func viewDidLoad() {
172
+
173
+ super.viewDidLoad()
174
+
175
+ // Do any additional setup after loading the view, typically from a nib.
176
+
177
+ tableview.delegate = self
178
+
179
+ tableview.dataSource = self
180
+
181
+ }
182
+
183
+
184
+
185
+ @IBAction func segmentedChanged(_ sender: Any) {
186
+
187
+ tableview.reloadData()
188
+
189
+ }
190
+
191
+
192
+
193
+ }
194
+
195
+
196
+
197
+ extension ViewController: UITableViewDelegate,UITableViewDataSource {
198
+
199
+
200
+
201
+ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
202
+
203
+ switch segmentButton.selectedSegmentIndex {
204
+
205
+ case 0:
206
+
207
+ return data1.count
208
+
209
+ case 1:
210
+
211
+ return data2.count
212
+
213
+ default:
214
+
215
+ break
216
+
217
+ }
218
+
219
+ return 0
220
+
221
+ }
222
+
223
+
224
+
225
+ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
226
+
227
+ let cell = tableView.dequeueReusableCell(withIdentifier: "cell1", for: indexPath)
228
+
229
+ switch segmentButton.selectedSegmentIndex {
230
+
231
+ case 0:
232
+
233
+ cell.textLabel?.text = data1[indexPath.row]
234
+
235
+ case 1:
236
+
237
+ cell.textLabel?.text = data2[indexPath.row]
238
+
239
+ default:
240
+
241
+ break
242
+
243
+ }
244
+
245
+ return cell
246
+
247
+ }
248
+
249
+ }
250
+
251
+ ```
252
+
253
+
254
+
255
+ ![イメージ説明](d831c07c0b193893ac10517b9cd8a6fa.png)

7

追記

2019/08/19 20:55

投稿

samson66
samson66

スコア35

test CHANGED
File without changes
test CHANGED
@@ -27,3 +27,105 @@
27
27
  新規タブと共にユーザーによって生成されたUITableView(タブのコンテンツ)
28
28
 
29
29
  ![イメージ説明](82a7d953ff24538a6ca7f462dc0b157c.jpeg)
30
+
31
+
32
+
33
+ 追記 8/19 14:45
34
+
35
+ アドバイスを元にデータだけを切り替える仕様で実装。
36
+
37
+ '[String]' has no member 'String'というエラーが発生。
38
+
39
+
40
+
41
+ ```ここに言語を入力
42
+
43
+ import UIKit
44
+
45
+
46
+
47
+ class ViewController: UIViewController {
48
+
49
+
50
+
51
+ @IBOutlet weak var segmentButton: UISegmentedControl!
52
+
53
+ @IBOutlet weak var tableview: UITableView!
54
+
55
+
56
+
57
+ var data1 = ["dog","cat","fish","pug"]
58
+
59
+ var data2 = ["river","forest","sea","mountain"]
60
+
61
+
62
+
63
+ override func viewDidLoad() {
64
+
65
+ super.viewDidLoad()
66
+
67
+ // Do any additional setup after loading the view, typically from a nib.
68
+
69
+ tableview.delegate = self
70
+
71
+ }
72
+
73
+
74
+
75
+ }
76
+
77
+
78
+
79
+ extension ViewController: UITableViewDelegate,UITableViewDataSource {
80
+
81
+ func tableView(_ tableView: UITableView, numberOfRowsInSection section: Int) -> Int {
82
+
83
+ if ( segmentButton.selectedSegmentIndex == 0) {
84
+
85
+ return data1.count
86
+
87
+ } else {
88
+
89
+ return data2.count
90
+
91
+ }
92
+
93
+ }
94
+
95
+
96
+
97
+ func tableView(_ tableView: UITableView, cellForRowAt indexPath: IndexPath) -> UITableViewCell {
98
+
99
+ let cell = tableView.dequeueReusableCell(withIdentifier: "cell1", for: indexPath)
100
+
101
+ var data = ""
102
+
103
+
104
+
105
+ if (segmentButton.selectedSegmentIndex == 0) {
106
+
107
+ data = data1.String(indexPath.row)  //Value of type '[String]' has no member 'String'
108
+
109
+ } else {
110
+
111
+ data = data2.String(indexPath.row) //Value of type '[String]' has no member 'String'
112
+
113
+ }
114
+
115
+ cell.textLabel?.text = String(data)
116
+
117
+
118
+
119
+ return cell
120
+
121
+ }
122
+
123
+
124
+
125
+ }
126
+
127
+ ```
128
+
129
+ storyboard画面
130
+
131
+ ![イメージ説明](b5f4a973927c20c70a4c3d20b2b25c41.png)

6

修正

2019/08/19 05:46

投稿

samson66
samson66

スコア35

test CHANGED
File without changes
test CHANGED
@@ -8,7 +8,7 @@
8
8
 
9
9
  少し大雑把な質問になっていたらすみませんm(_ _)m
10
10
 
11
- UITableViewをボタンを押したら新規生成する機能など部分的でいので、
11
+ 特にUITableView(またはテーブルビュー含めたUIViewController)をボタンを押したら新規生成する機能につ
12
12
 
13
13
  アドバイスやコーディング、または参考になる記事などあればご教授のほどをお願いしたいです!
14
14
 

5

修正

2019/08/18 19:46

投稿

samson66
samson66

スコア35

test CHANGED
@@ -1 +1 @@
1
- 新規追加されたタブのコンテンツとしてUITableViewを生成する仕組み
1
+ 新規追加されたタブのコンテンツとしてUITableViewを生成する仕組みについて
test CHANGED
File without changes

4

修正

2019/08/18 19:27

投稿

samson66
samson66

スコア35

test CHANGED
@@ -1 +1 @@
1
- 新規追加されたタブのコンテンツとしてUITableViewを生成していく仕組みについて
1
+ 新規追加されたタブのコンテンツとしてUITableViewを生成する仕組み
test CHANGED
File without changes

3

修正

2019/08/18 19:27

投稿

samson66
samson66

スコア35

test CHANGED
@@ -1 +1 @@
1
- しいタブとしてUITableViewを新規追加していく仕組みについて
1
+ 規追加されたタブのコンテンツとしてUITableViewを生成していく仕組みについて
test CHANGED
File without changes

2

修正

2019/08/18 19:26

投稿

samson66
samson66

スコア35

test CHANGED
File without changes
test CHANGED
@@ -24,6 +24,6 @@
24
24
 
25
25
 
26
26
 
27
- 新規タブと共に新しく生成されたUITableView
27
+ 新規タブと共にユーザーによって生成されたUITableView(タブのコンテンツ)
28
28
 
29
29
  ![イメージ説明](82a7d953ff24538a6ca7f462dc0b157c.jpeg)

1

修正

2019/08/18 19:23

投稿

samson66
samson66

スコア35

test CHANGED
File without changes
test CHANGED
@@ -1,4 +1,8 @@
1
- メモ帳アプリやTODOアプリなどでメモリストやTODOリストのページをタブごとで分別させて管理するアプリをよく見かけるのですが、一体どのような仕組みでユーザー側にページ(UITableView)を追加(生成)させてるのでしょか?
1
+ メモ帳アプリやTODOアプリなどでメモリストやTODOリストのページをタブごとで分別させて管理するアプリをよく見かけるのですが、そこページ(UITableView)を追加(生成)するという機能があります。
2
+
3
+ tableviewに加えタブの仕組みなどを最近勉強していますが、仕組みが全くわからず前に進めません・・・。
4
+
5
+ これは一体どのような仕組みで動いているのでしょうか?
2
6
 
3
7
 
4
8
 
@@ -6,7 +10,7 @@
6
10
 
7
11
  UITableViewをボタンを押したら新規生成する機能など部分的でいいので、
8
12
 
9
- 参考になるアドバイスやコーディング、または記事などあればご教授のほどをお願いしたいです!
13
+ アドバイスやコーディング、または参考になる記事などあればご教授のほどをお願いしたいです!
10
14
 
11
15
 
12
16