你好,我正在使用Swift构建一个应用程序。我需要按照特定顺序处理通知。因此,我正在尝试使用addOperations waitUntilFinished。
这是我的操作:
let oldify = NSOperation()
oldify.completionBlock = {
println("oldify")
}
let appendify = NSOperation()
appendify.completionBlock = {
println("appendify")
}
let nettoyify = NSOperation()
nettoyify.completionBlock = {
println("nettoyify")
}
NSOperationQueue.mainQueue().maxConcurrentOperationCount = 1
NSOperationQueue.mainQueue().addOperations([oldify, appendify, nettoyify], waitUntilFinished: true)
使用这段代码时,没有任何操作被执行。如果我改用以下代码:
NSOperationQueue.mainQueue().maxConcurrentOperationCount = 1
NSOperationQueue.mainQueue().addOperation(oldify)
NSOperationQueue.mainQueue().addOperation(appendify)
NSOperationQueue.mainQueue().addOperation(nettoyify)
操作已执行,但顺序不正确。
有人知道我做错了什么吗?我在Swift上变得自信了,但对NSOperations完全是新手。