在Swift中对实例方法错误消息的调用中没有精确匹配

问题描述 投票:0回答:1

我以前从未得到过,在Swift中此错误消息的含义是什么:

No exact matches in call to instance method 'dataTask(with:completionHandler:)'

这是我的代码块:

var request: NSMutableURLRequest? = nil
let task = URLSession.shared.dataTask(
            with: request,
            completionHandler: { data, response, error in
                DispatchQueue.main.async(execute: {
                  /// ...
                })
            })
        task.resume()
swift xcode swift5.2
1个回答
0
投票

也许消息文本似乎有点不言自明,但仅仅是因为Xcode不能精确指向参数本身,所以第一次很难确定。

大声喊Xcode是因为该方法希望在方法调用中看到确切的参数类型,这很容易。

示例案例的解决方案:

var request: URLRequest? = nil

let task = URLSession.shared.dataTask(
            with: request!,
            completionHandler: { data, response, error in
                DispatchQueue.main.async(execute: {

                })
            })
        task.resume()

仅使用URLRequest而不是NSMutableURLRequest。

对实例方法'* * *'的调用中没有完全匹配的内容>

这是一般错误消息,用于在方法调用中使用错误的类型。这就是为什么我在这里添加帮助他人的原因。

我希望这个答案对你们中的某些人有所帮助。

最佳

© www.soinside.com 2019 - 2024. All rights reserved.