斯威夫特 - NSOperationQueue

时间:2014-06-24 09:58:13

标签: ios objective-c swift

我有这个Swift代码(从Obj-C迁移)

 NSOperationQueue().addOperationWithBlock({
    print("WORKING...")
    NSOperationQueue.mainQueue().addOperationWithBlock({
        print("FINISHED")
    })
})

mainQueue块不会执行(" FINISHED"永不打印)。它有什么问题?

2 个答案:

答案 0 :(得分:0)

这段代码完全正常,操作块执行但mainQueue操作块有时需要执行lil时间,因为mainQueue将该块添加到主线程的操作队列但不保证何时执行。该队列中可能还有其他项目仍在等待执行。

答案 1 :(得分:0)

我使用GCD,例如:

dispatch_async(dispatch_get_main_queue()) { 
    [weak self] in
    self.collection.reloadData()
}