質問編集履歴

3

質問の仕方を間違っていた

2021/09/30 13:41

投稿

yamato-0123
yamato-0123

スコア2

test CHANGED
@@ -1 +1 @@
1
- spreadsheet view を使ったことのある方助けてください
1
+ spreadsheetView の知識がある方教えてください
test CHANGED
@@ -1,65 +1,25 @@
1
- ### 前提・実現したこと
1
+ spreadsheetViewを使ってます。
2
2
 
3
+ 現在、このライブラリを使って、表を表示することに成功し、その後
3
4
 
5
+ ```swift
4
6
 
5
- spreadsheet viewを使って、月曜から金曜日までを表の一番左に表示したい。
7
+ func spreadsheetView(_ spreadsheetView: SpreadsheetView, cellForItemAt indexPath: IndexPath) -> Cell? {
6
8
 
9
+
7
10
 
11
+ let cell = spreadsheetView.dequeueReusableCell(withReuseIdentifier: MyLabelCell.identifier, for: indexPath) as! MyLabelCell
8
12
 
9
- 何も書き込んでいない状態でのビルドは成功しています。
13
+   if indexPath.section == 1 {
10
14
 
15
+ cell.setup(with: String(list[1]))
11
16
 
12
-
13
- ### 発生している問題・エラーメッセージ
14
-
15
-
16
-
17
- 海外のYouTubeの方を参考にほぼ同じようにコードを書いています。
18
-
19
- しかし、海外の方はdequeueReusableCellを問題なく入力しているにもかかわらず、自分にはエラーが出てしまいます。
20
-
21
-
22
-
23
- エラーメッセージ
17
+ }
24
18
 
25
19
  ```
26
20
 
21
+ ここまでできていますが、If文を使って、セルの縦を指定することはできていますが、横の列を指定するやり方がわっていません。
27
22
 
23
+ このライブラリを使ったことのある方教えていただけないでしょうか。
28
24
 
29
- ### Value of type '(SpreadsheetView, Int) -> CGFloat' has no member 'dequeueReusableCell'
30
-
31
-
32
-
33
- ```swift
34
-
35
- ソースコード
36
-
37
- ```let cell = spreadsheetView.dequeueReusableCell(withReuseIdentifier: MyLabelCell.identifier, for: indexPath) as! MyLabelCell
38
-
39
-
40
-
41
- ### 試したこと
42
-
43
-
44
-
45
- その方と違うところはないか確認しました。
46
-
47
- ⇨見当たりませんでした
48
-
49
-
50
-
51
- dequeueReusableCellを打ち込むこき予測変換に『deque』まで打ち込まないと一切出て来ず、
52
-
53
- This method is defined on UITableView and may not be available in this context.
54
-
55
- と、いう注意書きが予測変換の下に出てきています。
56
-
57
-
58
-
59
- ### 補足情報(FW/ツールのバージョンなど)
60
-
61
-
62
-
63
- 初心者で、初歩的なミスかもしれないですが教えていただけると嬉しいです。
64
-
65
- よろしくお願いします。
25
+ 申し訳ないですがよろしくお願いします。

2

右と左を間違えていた

2021/09/30 13:41

投稿

yamato-0123
yamato-0123

スコア2

test CHANGED
File without changes
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
 
4
4
 
5
- spreadsheet viewを使って、月曜から金曜日までを表の一番に表示したい。
5
+ spreadsheet viewを使って、月曜から金曜日までを表の一番に表示したい。
6
6
 
7
7
 
8
8
 

1

書き方が悪くテンプレートがあることを知らなかったので、編集しました。

2021/09/29 12:18

投稿

yamato-0123
yamato-0123

スコア2

test CHANGED
File without changes
test CHANGED
@@ -1,263 +1,65 @@
1
+ ### 前提・実現したいこと
2
+
3
+
4
+
1
- spreadsheetVIewを使いたくて使っています
5
+ spreadsheet viewを使って、月曜から金曜日までを表の一番右に表示したい。
6
+
7
+
8
+
9
+ 何も書き込んでいない状態でのビルドは成功しています。
10
+
11
+
12
+
13
+ ### 発生している問題・エラーメッセージ
14
+
15
+
16
+
17
+ 海外のYouTubeの方を参考にほぼ同じようにコードを書いています。
18
+
19
+ しかし、海外の方はdequeueReusableCellを問題なく入力しているにもかかわらず、自分にはエラーが出てしまいます。
20
+
21
+
22
+
23
+ エラーメッセージ
24
+
25
+ ```
26
+
27
+
28
+
29
+ ### Value of type '(SpreadsheetView, Int) -> CGFloat' has no member 'dequeueReusableCell'
30
+
31
+
2
32
 
3
33
  ```swift
4
34
 
5
- コード
35
+ ソースコード
6
36
 
7
- ```import UIKit
8
-
9
- import SpreadsheetView
37
+ ```let cell = spreadsheetView.dequeueReusableCell(withReuseIdentifier: MyLabelCell.identifier, for: indexPath) as! MyLabelCell
10
38
 
11
39
 
12
40
 
13
- class ViewController: UIViewController, SpreadsheetViewDataSource, SpreadsheetViewDelegate{
14
-
15
- func numberOfColumns(in spreadsheetView: SpreadsheetView) -> Int {
16
-
17
- return 4
41
+ ### 試したこと
18
-
19
- }
20
42
 
21
43
 
22
44
 
23
- func numberOfRows(in spreadsheetView: SpreadsheetView) -> Int {
45
+ その方と違うところはないか確認しました。
24
46
 
25
- return subjectData.count
26
-
27
- }
28
-
29
-
30
-
31
- func spreadsheetView(_ spreadsheetView: SpreadsheetView, widthForColumn column: Int) -> CGFloat {
32
-
33
- return 80
47
+ ⇨見当たりませんでした
34
-
35
- }
36
48
 
37
49
 
38
50
 
39
- func spreadsheetView(_ spreadsheetView: SpreadsheetView, heightForRow row: Int) -> CGFloat {
51
+ dequeueReusableCellを打ち込むこき予測変換に『deque』まで打ち込まないと一切出て来ず、
40
52
 
41
- return 40
53
+ This method is defined on UITableView and may not be available in this context.
42
54
 
43
- }
55
+ と、いう注意書きが予測変換の下に出てきています。
44
-
45
-
46
56
 
47
57
 
48
58
 
49
- var subjectData = ["月曜日", "火曜日", "水曜日", "木曜日", "金曜日"]
50
-
51
- @IBOutlet var spreadsheetView: SpreadsheetView!
59
+ ### 補足情報(FW/ツールのバージョンなど)
52
60
 
53
61
 
54
62
 
55
- override func viewDidLoad() {
63
+ 初心者で、初歩的なミスかもしれないですが教えていただけると嬉しいです。
56
64
 
57
- // Do any additional setup after loading the view.
58
-
59
-
60
-
61
- super.viewDidLoad()
62
-
63
- spreadsheetView.register(MyLabelCell.self, forCellWithReuseIdentifier: MyLabelCell.identifier)
64
-
65
- spreadsheetView.delegate = self
66
-
67
- spreadsheetView.dataSource = self
68
-
69
- view.addSubview(spreadsheetView)
70
-
71
- }
72
-
73
-
74
-
75
- override func viewDidLayoutSubviews() {
76
-
77
- super.viewDidLayoutSubviews()
78
-
79
- spreadsheetView.frame = CGRect(x: 40, y: 200, width: view.frame.size.width, height: view.frame.size.height-100)
80
-
81
- }
82
-
83
-
84
-
85
- func spreadsheetView(_ spreadsheetView: SpreadsheetView, cellForItemAt indexPath: IndexPath) -> Cell? {
86
-
87
- let cell = spreadsheetView.dequeueReusableCell(withReuseIdentifier: MyLabelCell.identifier, for: indexPath) as! MyLabelCell
88
-
89
- if indexPath.section == 0 {
90
-
91
- cell.setup(with: subjectData[indexPath.row])
92
-
93
- return cell
94
-
95
- }
96
-
97
-
98
-
99
- func numberOfColumns(in spreadsheetView: SpreadsheetView) -> Int {
100
-
101
- return 4
102
-
103
- }
104
-
105
-
106
-
107
- func numberOfRows(in spreadsheetView: SpreadsheetView) -> Int {
108
-
109
- return subjectData.count
110
-
111
- }
112
-
113
-
114
-
115
- func spreadsheetView(_ spreadsheetView: SpreadsheetView, widthForColumn column: Int) -> CGFloat {
116
-
117
- return 80
118
-
119
- }
120
-
121
-
122
-
123
- func spreadsheetView(_ spreadsheetView: SpreadsheetView, heightForRow row: Int) -> CGFloat {
124
-
125
- return 40
126
-
127
- }
128
-
129
-
130
-
131
-
132
-
133
-
134
-
135
-
136
-
137
-
138
-
139
- }
140
-
141
-
142
-
143
-
144
-
145
- class MyLabelCell: Cell {
146
-
147
- static let identifier = "MyLablelCell"
148
-
149
-
150
-
151
- private let label = UILabel()
152
-
153
-
154
-
155
- public func setup(with text: String) {
156
-
157
- label.text = text
158
-
159
- label.textAlignment = .center
160
-
161
- contentView.addSubview(label)
162
-
163
- }
164
-
165
-
166
-
167
- override func layoutSubviews() {
168
-
169
- super.layoutSubviews()
170
-
171
- label.frame = contentView.bounds
172
-
173
- }
174
-
175
- }
176
-
177
-
178
-
179
-
180
-
181
- }
182
-
183
-
184
-
185
- 月曜から金曜日までを一番右の列に表示すようなアプリを作ろうとしています。
186
-
187
- YouTubeで解説している外国人の方や、ここで質問して内容を合わせて頑張ってここまできました。
188
-
189
-
190
-
191
- しかし、
192
-
193
- let cell = spreadsheetView.dequeueReusableCell(withReuseIdentifier: MyLabelCell.identifier, for: indexPath) as! MyLabelCell
194
-
195
-
196
-
197
- この部分で、dequeueReusableCellがspreadsheetViewにはないという
198
-
199
- Value of type '(SpreadsheetView, Int) -> CGFloat' has no member 'dequeueReusableCell'
200
-
201
- このうなエラーが出てしました
65
+ くお願いし
202
-
203
- まずdequeueReusableCellを使っていいのかと、どのように改善すればうまくいくか教えてください。
204
-
205
- 初心者ですが教えていただけると幸いです。
206
-
207
-
208
-
209
-
210
-
211
-
212
-
213
-
214
-
215
-
216
-
217
-
218
-
219
-
220
-
221
-
222
-
223
-
224
-
225
-
226
-
227
-
228
-
229
- 追記
230
-
231
- func numberOfColumns(in spreadsheetView: SpreadsheetView) -> Int {
232
-
233
- return 4
234
-
235
- }
236
-
237
-
238
-
239
- func numberOfRows(in spreadsheetView: SpreadsheetView) -> Int {
240
-
241
- return subjectData.count
242
-
243
- }
244
-
245
-
246
-
247
- func spreadsheetView(_ spreadsheetView: SpreadsheetView, widthForColumn column: Int) -> CGFloat {
248
-
249
- return 80
250
-
251
- }
252
-
253
-
254
-
255
- func spreadsheetView(_ spreadsheetView: SpreadsheetView, heightForRow row: Int) -> CGFloat {
256
-
257
- return 40
258
-
259
- }
260
-
261
-
262
-
263
- をviewDidLoad()に書いているのにもかかわらず、エラーで、viewDidLoad()の上に書けというようなエラーが出てきます。このままでいいのか、それともどちらかを消すべきなのか、教えてください。