我正在按照 Swift 已经实施的提案指南https://github.com/apple/swift-evolution/blob/master/proposals/0022-objc-selectors.md做出明确的选择器声明。
但是下面的代码给出了错误:
对成员 urlSession(_:dataTask:didBecome) 的模糊引用
let sel = #selector((URLSessionDataDelegate.urlSession(_:dataTask:didBecome:)) as (URLSessionDataDelegate) -> (URLSession, URLSessionDataTask, URLSessionDownloadTask) -> Void)
但是在添加强制展开后,错误消失了:
let sel = #selector((URLSessionDataDelegate.urlSession(_:dataTask:didBecome:))! as (URLSessionDataDelegate) -> (URLSession, URLSessionDataTask, URLSessionDownloadTask) -> Void)
我的问题是 - 在这里制作选择器的正确方法是什么?为什么通过添加 force-unwrap 错误会消失?我在此处添加强制解包是否正确?