在Swift 2中,我能够用以下代码创建队列:
let concurrentQueue = dispatch_queue_create("com.swift3.imageQueue", DISPATCH_QUEUE_CONCURRENT)
但是这不能在Swift 3中编译。
在Swift 3中,首选的方式是什么?
在Swift 2中,我能够用以下代码创建队列:
let concurrentQueue = dispatch_queue_create("com.swift3.imageQueue", DISPATCH_QUEUE_CONCURRENT)
但是这不能在Swift 3中编译。
在Swift 3中,首选的方式是什么?
当前回答
我这样做了,如果你想在不被用户注意的情况下刷新你的UI来显示新数据,比如UITableView或UIPickerView,这就特别重要。
DispatchQueue.main.async
{
/*Write your thread code here*/
}
其他回答
现在很简单:
let serialQueue = DispatchQueue(label: "my serial queue")
默认值是serial,要获得concurrent,可以使用可选属性参数.concurrent
DispatchQueue.main.async(execute: {
// write code
})
串行队列:
let serial = DispatchQueue(label: "Queuename")
serial.sync {
//Code Here
}
并发队列:
let concurrent = DispatchQueue(label: "Queuename", attributes: .concurrent)
concurrent.sync {
//Code Here
}
DispatchQueue.main.async {
self.collectionView?.reloadData() // Depends if you were populating a collection view or table view
}
OperationQueue.main.addOperation {
self.lblGenre.text = self.movGenre
}
//使用操作队列如果你需要填充对象(标签,imageview, textview)在你的视图控制器
Swift 3
DispatchQueue.main.async {
// Write your code here
}
DispatchQueue.main.async(execute: {
// code
})