我有这个Swift代码(从Obj-C迁移)
NSOperationQueue().addOperationWithBlock({
print("WORKING...")
NSOperationQueue.mainQueue().addOperationWithBlock({
print("FINISHED")
})
})
mainQueue块不会执行(" FINISHED"永不打印)。它有什么问题?
答案 0 :(得分:0)
这段代码完全正常,操作块执行但mainQueue
操作块有时需要执行lil时间,因为mainQueue
将该块添加到主线程的操作队列但不保证何时执行。该队列中可能还有其他项目仍在等待执行。
答案 1 :(得分:0)
我使用GCD,例如:
dispatch_async(dispatch_get_main_queue()) {
[weak self] in
self.collection.reloadData()
}