0

我正在按照 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 错误会消失?我在此处添加强制解包是否正确?

4

0 回答 0