swift3 - 转换为Swift3错误

标签 swift3 syntax-error

Xcode转换为Swift 3.0语法后,出现以下错误:

error: cannot invoke initializer for type 'Int' with an argument list of type '(qos_class_t)' DispatchQueue.global(priority: Int(DispatchQoS.QoSClass.userInitiated.rawValue)).async { ^

note: overloads for 'Int' exist with these partially matching parameter lists: (Int64), (Word), (UInt8), (Int8), (UInt16), (Int16), (UInt32), (Int32), (UInt64), (UInt), (Int), (Float), (Double), (Float80), (String, radix: Int), (CGFloat), (NSNumber) {DispatchQueue.global(priority: Int(DispatchQoS.QoSClass.userInitiated.rawValue)).async {



转换后的语法:
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 { }

关于swift3 - 转换为Swift3错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42744493/

相关文章:

ios - 如何解决 Swift 3 中的键盘问题?

ios - 无需单击按钮即可将数据从一个文本字段传输到另一个文本字段

ios - 根据用户选择更改应用本地化

python - 为什么我在这段代码中遇到语法错误?

ruby-on-rails - block 中出现意外的语法错误

ios - 更改 Collection View 单元格大小

ios - 使用 Firebase 将图像从一个 View Controller 传递到另一个 View Controller (快速)

init.php 上的 PHP 错误消息

ruby - 使用<<时出现语法错误,但使用+ =时则没有

c# - 如何从一种形式访问一个类到另一种形式