有这个协议吗
public protocol URLSessionWebSocketTaskProtocol {
func send(_ message: URLSessionWebSocketTask.Message, completionHandler: @escaping (Error?) -> Void)
func receive(completionHandler: @escaping (Result<URLSessionWebSocketTask.Message, Error>) -> Void)
func sendPing(pongReceiveHandler: @escaping (Error?) -> Void)
func cancel(with closeCode: URLSessionWebSocketTask.CloseCode, reason: Data?)
func resume()
}
并且在这一部分中符合它
extension URLSessionWebSocketTask: URLSessionWebSocketTaskProtocol {}
工作正常,但我需要在协议中有委托属性,因此将协议修改为
public protocol URLSessionWebSocketTaskProtocol {
func send(_ message: URLSessionWebSocketTask.Message, completionHandler: @escaping (Error?) -> Void)
func receive(completionHandler: @escaping (Result<URLSessionWebSocketTask.Message, Error>) -> Void)
func sendPing(pongReceiveHandler: @escaping (Error?) -> Void)
func cancel(with closeCode: URLSessionWebSocketTask.CloseCode, reason: Data?)
func resume()
var delegate: URLSessionTaskDelegate? { get set}
}
现在编译器告诉我们
协议"URLSessionWebSocketTaskProtocol"要求"委派"在iOS 13.0.0及更新版本中可用
目标minimun版本设置为iOS 13,因此有必要添加@available(iOS 13.0,*),但以任何方式添加了@available,并且没有任何更改.编译器一直告诉我们,协议要求委托在iOS 13中可用.
因此,我如何向协议中添加一个委托,而一致性并没有显示该错误.