teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

2

記述の追加をしました

2020/04/20 09:00

投稿

rainyeveryday
rainyeveryday

スコア22

title CHANGED
File without changes
body CHANGED
@@ -12,14 +12,29 @@
12
12
  GetDataのメソッドは以下のとおりです。
13
13
  ```Swift
14
14
 
15
+ import Foundation
16
+ import Alamofire
17
+
18
+ class GetData {
19
+
20
+ var youtubeData:YoutubeData?
21
+ var publishedAtArray:[String]?
22
+ var titleArray:[String]?
23
+ var imageURLStringArray:[String]?
24
+ var youtubeURLArray:[String]?
25
+ var channelTitleArray:[String]?
26
+ var videoIdArray:[String]?
27
+
28
+
15
29
  init(urlText: String){
16
-
30
+
17
31
  let text = urlText
18
32
  let url = text.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
19
33
 
20
34
  AF.request(url as! URLConvertible, method: .get, parameters: nil, encoder: JSONEncoding.default as! ParameterEncoder){ (response) in
21
35
 
22
36
  print(response)
37
+
23
38
  switch response.result {
24
39
  case .success:
25
40
 
@@ -32,14 +47,16 @@
32
47
  let imageURLString = json["items"][i]["snippet"]["thumbnails"]["default"]["url"].string
33
48
 
34
49
  let youtubeURL = "https://www.youtube.com/watch?v=(videoId)"
35
- let channelTitle = json["items"][i]["snippet"]["channelTitle"].string
50
+ let channelTitle = json["items"][i]["snippet"]["channelTitle"].string
51
+
36
52
  self.videoIdArray.append(videoId)
37
53
  self.publishedAtArray.append(publishedAt)
38
54
  self.titleArray.append(title)
39
55
  self.imageURLStringArray.append(imageURLString)
40
56
  self.youtubeURLArray.append(youtubeURL)
41
57
  self.channelTitleArray.append(channelTitle)
58
+
42
- }
59
+ }
43
60
  break
44
61
  case .failure(let error):
45
62
  print(error)
@@ -47,7 +64,27 @@
47
64
  }
48
65
 
49
66
  self.tableView.reloadData()
67
+
50
- }
68
+ }
51
69
 
52
70
 
71
+
72
+
73
+
74
+
75
+
76
+
77
+
78
+ }
79
+
80
+
81
+
82
+
83
+
84
+
85
+
86
+ }
87
+
88
+
89
+
53
90
  ```

1

メソッドを追加しました

2020/04/20 09:00

投稿

rainyeveryday
rainyeveryday

スコア22

title CHANGED
File without changes
body CHANGED
@@ -7,4 +7,47 @@
7
7
  let getData = GetData(urlText: text as! String)
8
8
  ```
9
9
 
10
- どのようにすれば値を渡せるのでしょうか。ご教授お願いします。
10
+ どのようにすれば値を渡せるのでしょうか。ご教授お願いします。
11
+
12
+ GetDataのメソッドは以下のとおりです。
13
+ ```Swift
14
+
15
+ init(urlText: String){
16
+
17
+ let text = urlText
18
+ let url = text.addingPercentEncoding(withAllowedCharacters: .urlQueryAllowed)
19
+
20
+ AF.request(url as! URLConvertible, method: .get, parameters: nil, encoder: JSONEncoding.default as! ParameterEncoder){ (response) in
21
+
22
+ print(response)
23
+ switch response.result {
24
+ case .success:
25
+
26
+ for i in 0...39 {
27
+
28
+ let json: JSON = JSON(response.data as Any)
29
+ let videoId = json["items"][i]["id"]["videoId"].string
30
+ let publishedAt = json["items"][i]["snippet"]["publishedAt"].string
31
+ let title = json["items"][i]["snippet"]["title"].string
32
+ let imageURLString = json["items"][i]["snippet"]["thumbnails"]["default"]["url"].string
33
+
34
+ let youtubeURL = "https://www.youtube.com/watch?v=(videoId)"
35
+ let channelTitle = json["items"][i]["snippet"]["channelTitle"].string
36
+ self.videoIdArray.append(videoId)
37
+ self.publishedAtArray.append(publishedAt)
38
+ self.titleArray.append(title)
39
+ self.imageURLStringArray.append(imageURLString)
40
+ self.youtubeURLArray.append(youtubeURL)
41
+ self.channelTitleArray.append(channelTitle)
42
+ }
43
+ break
44
+ case .failure(let error):
45
+ print(error)
46
+ break
47
+ }
48
+
49
+ self.tableView.reloadData()
50
+ }
51
+
52
+
53
+ ```