私は次のコードを持っている:すべてのNSOperationsが完了するまで待つ方法は?
func testFunc(completion: (Bool) -> Void) {
let queue = NSOperationQueue()
queue.maxConcurrentOperationCount = 1
for i in 1...3 {
queue.addOperationWithBlock{
Alamofire.request(.GET, "https://httpbin.org/get").responseJSON { response in
switch (response.result){
case .Failure:
print("error")
break;
case .Success:
print("i = \(i)")
}
}
}
//queue.addOperationAfterLast(operation)
}
queue.waitUntilAllOperationsAreFinished()
print("finished")
}
、出力は次のようになります。
finished
i = 3
i = 1
i = 2
が、私は、次の期待:
i = 3
i = 1
i = 2
finished
ので、queue.waitUntilAllOperationsAreFinished()がない理由待つ?