質問編集履歴
3
記載ミスの修正
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
デッドロック
title
CHANGED
File without changes
|
body
CHANGED
@@ -105,38 +105,30 @@
|
|
105
105
|
【swift3】【Xcode8.2.1】
|
106
106
|
|
107
107
|
|
108
|
-
###
|
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
|
-
|
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
|
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).
|
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サンプル追加?
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
|
+
```
|