回答編集履歴

1

コードの追記

2019/10/01 04:28

投稿

hayabusabusash
hayabusabusash

スコア767

test CHANGED
@@ -83,3 +83,87 @@
83
83
 
84
84
 
85
85
  一度これで確認してみてはもらえませんか?
86
+
87
+
88
+
89
+ ## コードの追記(2019/10/01)
90
+
91
+ JSONから値を取り出している`forEach`の部分はいりませんね。
92
+
93
+ なので以下のようになります。
94
+
95
+
96
+
97
+ ```Swift
98
+
99
+ func getData(){
100
+
101
+ let text = "https://script.google.com/macros/s/AKfycbw1IzuulWfaxTtgsNS9Yi5iUNeBqBHy1XC-wV0IOBiAjpzsw98/exec" //取得したいURL
102
+
103
+ let url = text.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
104
+
105
+ AF.request(url!, method: .get, parameters: nil, encoding: JSONEncoding.default).responseJSON { (response) in
106
+
107
+ switch response.result{
108
+
109
+ case .success:
110
+
111
+ // 通信成功時
112
+
113
+ guard let data = response.data else {
114
+
115
+ return
116
+
117
+ }
118
+
119
+
120
+
121
+ do {
122
+
123
+ // googleDataはGoogleDataの配列( [GoogleData] )になります。
124
+
125
+ let googleData = try JSONDecoder().decode([GoogleData].self, from: response.data!)
126
+
127
+
128
+
129
+ // 前のforEachとやっていることは同じです。
130
+
131
+ googleData.forEach { item in
132
+
133
+ self.nameArray.append(item.name)
134
+
135
+ self.amountArray.append("(item.amount)")
136
+
137
+ self.taniArray.append(item.tani)
138
+
139
+ self.priceArray.append("(item.price)")
140
+
141
+ }
142
+
143
+ } catch let error {
144
+
145
+ // JSON -> GoogleData にデコード失敗
146
+
147
+ print(error)
148
+
149
+ }
150
+
151
+ case .failure(let error):
152
+
153
+ // 通信の失敗
154
+
155
+ print(error)
156
+
157
+ }
158
+
159
+ self.tableView.reloadData()
160
+
161
+ }
162
+
163
+ }
164
+
165
+ ```
166
+
167
+
168
+
169
+ 未検証なので変数名とか間違えててエラーになるかもしれません...