質問編集履歴

3

誤植があったので修正しました

2019/03/20 03:21

投稿

KumaChan
KumaChan

スコア37

test CHANGED
File without changes
test CHANGED
@@ -174,7 +174,7 @@
174
174
 
175
175
  今回の質問を通して、dataTaskクロージャの正しい使い方を学ぶことができました。
176
176
 
177
- こんなグズグズですが、わたしと同じように悩んでいるSwift初方のお役に立てましたら幸いです。
177
+ こんなグズグズですが、わたしと同じように悩んでいるSwift初心者の方のお役に立てましたら幸いです。
178
178
 
179
179
 
180
180
 

2

解決後のコードを追記しました

2019/03/20 03:21

投稿

KumaChan
KumaChan

スコア37

test CHANGED
File without changes
test CHANGED
@@ -78,8 +78,6 @@
78
78
 
79
79
  }
80
80
 
81
-
82
-
83
81
  }
84
82
 
85
83
  ```
@@ -97,3 +95,89 @@
97
95
  こんな状況ですが、何かお気付きの点がございましたら、ご教授いただけますと幸いです。
98
96
 
99
97
  よろしくお願いいたします。
98
+
99
+
100
+
101
+ ### 追記
102
+
103
+ ご回答をもとに、修正してみました。
104
+
105
+ imageViewを引数として関数へ渡し、クロージャ内で表示させる方法です。
106
+
107
+ これなら怪しげな戻り値を経由させることなく、処理の汎用化もできそうです。
108
+
109
+
110
+
111
+ ```ここに言語を入力
112
+
113
+ import UIKit
114
+
115
+
116
+
117
+ class ViewController: UIViewController {
118
+
119
+
120
+
121
+ @IBOutlet weak var imageView: UIImageView!
122
+
123
+
124
+
125
+ override func viewDidLoad() {
126
+
127
+ super.viewDidLoad()
128
+
129
+ // 表示処理を呼ぶ
130
+
131
+ let pass = "https://*************/photo.jpg"
132
+
133
+ getImage(pass: pass, view: imageView)
134
+
135
+ }
136
+
137
+
138
+
139
+ // 画像を取得して表示
140
+
141
+ func getImage(pass: String, view: UIImageView) -> Void {
142
+
143
+ if let url = URL(string: pass) {
144
+
145
+ let request = URLRequest(url: url)
146
+
147
+ let session = URLSession.shared
148
+
149
+ let task = session.dataTask(with: request, completionHandler: {
150
+
151
+ (data:Data?, response:URLResponse?, error:Error?) in
152
+
153
+ if let data = data, let image = UIImage(data: data) {
154
+
155
+ DispatchQueue.main.async {
156
+
157
+ view.image = image
158
+
159
+ }
160
+
161
+ }
162
+
163
+ })
164
+
165
+ task.resume()
166
+
167
+ }
168
+
169
+ }
170
+
171
+ }
172
+
173
+ ```
174
+
175
+ 今回の質問を通して、dataTaskクロージャの正しい使い方を学ぶことができました。
176
+
177
+ こんなグズグズですが、わたしと同じように悩んでいるSwift初方のの方のお役に立てましたら幸いです。
178
+
179
+
180
+
181
+ 今回のまとめ**「dataTaskの完了処理はcompletionHandlerの中に書く!」**
182
+
183
+ 今さらすぎてお恥ずかしい限りですが、精進してまいりたいと思います。

1

タイトルをわかりやすくしました

2019/03/20 03:04

投稿

KumaChan
KumaChan

スコア37

test CHANGED
@@ -1 +1 @@
1
- サーバーから画像を取得する関数でUIImage型がうまく渡せません
1
+ 【Swift】サーバーから画像を取得する関数でUIImage型がうまく渡せません
test CHANGED
File without changes