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

質問編集履歴

3

記載ミスの修正

2017/04/14 02:51

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -102,33 +102,4 @@
102
102
  他にスタイリッシュに記述する方法を教えていただけませんか?
103
103
 
104
104
  ###補足情報(言語/FW/ツール等のバージョンなど)
105
- 【swift3】【Xcode8.2.1】
105
+ 【swift3】【Xcode8.2.1】
106
-
107
-
108
- ###セマフォ(デッドロック)
109
- ```Swift
110
- import UIKit
111
- import Alamofire
112
-
113
- class ViewController: UIViewController {
114
-
115
- let semaphore = DispatchSemaphore(value: 0)
116
-
117
- override func viewDidLoad() {
118
- super.viewDidLoad()
119
- // Do any additional setup after loading the view, typically from a nib.
120
- test()
121
- }
122
-
123
- func test() {
124
- Alamofire.request("https://qiita.com/api/v2/items", method: .get).responseString { response in
125
- guard let object = response.result.value else { return }
126
- print(object)
127
- self.semaphore.signal()
128
- }
129
- print("waiting...")
130
- semaphore.wait()
131
- print("finish")
132
- }
133
- }
134
- ```

2

デッドロック

2017/04/14 02:51

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -105,38 +105,30 @@
105
105
  【swift3】【Xcode8.2.1】
106
106
 
107
107
 
108
- ###GCD?
108
+ ###セマフォ(デッドロック)
109
109
  ```Swift
110
+ import UIKit
111
+ import Alamofire
112
+
110
113
  class ViewController: UIViewController {
114
+
111
-
115
+ let semaphore = DispatchSemaphore(value: 0)
116
+
112
117
  override func viewDidLoad() {
113
118
  super.viewDidLoad()
114
119
  // Do any additional setup after loading the view, typically from a nib.
115
- DispatchQueue(label: "test").async {
116
- self.test1()
120
+ test()
117
- DispatchQueue(label: "test").asyncAfter(deadline: .now() + 5) {
118
- self.test2()
119
- DispatchQueue(label: "test").async {
120
- self.test3()
121
- }
122
- }
123
- }
124
121
  }
125
122
 
126
- func test1() {
123
+ func test() {
127
- print("test1")
128
- }
129
-
130
- func test2() {
131
- print("test2-")
132
- }
133
-
134
- func test3() {
135
- Alamofire.request("https://qiita.com/api/v2/items", method: .get).responseJSON { response in
124
+ Alamofire.request("https://qiita.com/api/v2/items", method: .get).responseString { response in
136
125
  guard let object = response.result.value else { return }
126
+ print(object)
137
- //この形だと値を返せない?
127
+ self.semaphore.signal()
138
128
  }
129
+ print("waiting...")
130
+ semaphore.wait()
131
+ print("finish")
139
132
  }
140
-
141
133
  }
142
134
  ```

1

GCDサンプル追加?

2017/04/14 02:23

投稿

退会済みユーザー
title CHANGED
File without changes
body CHANGED
@@ -102,4 +102,41 @@
102
102
  他にスタイリッシュに記述する方法を教えていただけませんか?
103
103
 
104
104
  ###補足情報(言語/FW/ツール等のバージョンなど)
105
- 【swift3】【Xcode8.2.1】
105
+ 【swift3】【Xcode8.2.1】
106
+
107
+
108
+ ###GCD?
109
+ ```Swift
110
+ class ViewController: UIViewController {
111
+
112
+ override func viewDidLoad() {
113
+ super.viewDidLoad()
114
+ // Do any additional setup after loading the view, typically from a nib.
115
+ DispatchQueue(label: "test").async {
116
+ self.test1()
117
+ DispatchQueue(label: "test").asyncAfter(deadline: .now() + 5) {
118
+ self.test2()
119
+ DispatchQueue(label: "test").async {
120
+ self.test3()
121
+ }
122
+ }
123
+ }
124
+ }
125
+
126
+ func test1() {
127
+ print("test1")
128
+ }
129
+
130
+ func test2() {
131
+ print("test2-")
132
+ }
133
+
134
+ func test3() {
135
+ Alamofire.request("https://qiita.com/api/v2/items", method: .get).responseJSON { response in
136
+ guard let object = response.result.value else { return }
137
+ //この形だと値を返せない?
138
+ }
139
+ }
140
+
141
+ }
142
+ ```