我有以下代碼:如何等待所有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()不等待?