回答編集履歴

1

くわしく。

2016/11/17 05:25

投稿

fuzzball
fuzzball

スコア16731

test CHANGED
@@ -1,15 +1,35 @@
1
- UITextField設定はメインスレッドで行って下さい。
1
+ UIの更新はメインスレッドで行わなといけません
2
2
 
3
3
 
4
4
 
5
5
  ```swift
6
6
 
7
- DispatchQueue.main.async {
7
+ let task = URLSession.shared.dataTask(with: url!) {
8
8
 
9
- self.tempTextField.text = "\(json["main"]["temp"].int!)"
9
+ :
10
10
 
11
+ //ここはメインスレッドではありません
12
+
13
+ print("isMainThread=", Thread.isMainThread) //=> false
14
+
15
+
16
+
17
+ DispatchQueue.main.async {
18
+
19
+ //この中はメインスレッドです
20
+
21
+ print("isMainThread=", Thread.isMainThread) //=> true
22
+
23
+
24
+
25
+ self.tempTextField.text = "\(json["main"]["temp"].int!)"
26
+
11
- self.humTextField.text = "\(json["main"]["humidity"].int!)"
27
+ self.humTextField.text = "\(json["main"]["humidity"].int!)"
28
+
29
+ }
12
30
 
13
31
  }
14
32
 
15
33
  ```
34
+
35
+