【发布时间】:2017-01-08 22:05:23
【问题描述】:
我有以下代码:
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() 不等待?
【问题讨论】:
标签: ios swift nsoperation nsoperationqueue