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 { }

09-25 17:27
查看更多