Xcode转换为Swift 3.0语法后,出现以下错误:
转换后的语法:
func searchBar(_ searchBar: UISearchBar, textDidChange searchText: String) {
if searchText == "" {
self.filteredSymbols = self.symbols
self.alphabeticSymbolCollection.reloadData()
} else {
DispatchQueue.global(priority: Int(DispatchQoS.QoSClass.userInitiated.rawValue)).async {
let fs = self.filterContentForSearchText(searchText)
DispatchQueue.main.async {
self.filteredSymbols = fs
self.searchActive = true
self.alphabeticSymbolCollection.reloadData()
}
}
}
}
转换前的语法:
func searchBar(searchBar: UISearchBar, textDidChange searchText: String) {
if searchText == "" {
self.filteredSymbols = self.symbols
self.alphabeticSymbolCollection.reloadData()
} else {
dispatch_async(dispatch_get_global_queue(Int(QOS_CLASS_USER_INITIATED.rawValue), 0)) {
let fs = self.filterContentForSearchText(searchText)
dispatch_async(dispatch_get_main_queue()) {
self.filteredSymbols = fs
self.searchActive = true
self.alphabeticSymbolCollection.reloadData()
}
}
}
}
最佳答案
简直就是
DispatchQueue.global(qos: .userInitiated).async { }