回答編集履歴

2

訂正

2021/05/08 09:24

投稿

hoshi-takanori
hoshi-takanori

スコア7901

test CHANGED
@@ -2,7 +2,9 @@
2
2
 
3
3
 
4
4
 
5
- 非同期処理なので、不可能です。
5
+ ~~非同期処理なので、不可能です。~~
6
+
7
+ 訂正: API の結果が返るのを待つことは不可能ではありませんが、メインスレッドでそれをやるとイベント処理を止めることになるので、推奨されてません。
6
8
 
7
9
 
8
10
 

1

追記

2021/05/08 09:24

投稿

hoshi-takanori
hoshi-takanori

スコア7901

test CHANGED
@@ -2,8 +2,8 @@
2
2
 
3
3
 
4
4
 
5
- 不可能です。
5
+ 非同期処理なので、不可能です。
6
6
 
7
7
 
8
8
 
9
- task.resume() は API アクセスを開始してすぐに return して②に制御が移りますが、その時点では elevation_value は空のままです。その後、API の結果が返ってきてから session.dataTask の completionHandler が実行され、その中で①が実行されることになります。
9
+ task.resume() は API アクセスを開始してすぐに return して②に制御が移りますが、その時点では elevation_value は空のままです。その後、API の結果が返ってきてから session.dataTask の completionHandler が実行され、その中で elevation_value に値が追加されてから①が実行されることになります。