如何解决Swift无法为类型为'url:URL的参数列表调用'WebSocket'类型的初始化程序
我有下面的代码可以快速进行网络套接字通信,但是在构建代码时却出错了。
代码:
import Foundation
import Starscream
class StarscreamWebSocket: WebSocketProvider {
var delegate: WebSocketProviderDelegate?
private let socket: WebSocket
init(url: URL) {
self.socket = WebSocket(url: url)
self.socket.delegate = self
}
func connect() {
self.socket.connect()
}
func send(data: Data) {
self.socket.write(data: data)
}
}
错误:
Cannot invoke initializer for type 'WebSocket' with an argument list of type '(url: URL)'
可能是问题所在。
解决方法
此框架的WebSocket
类没有带有单个URL
参数的初始化程序。它有两个初始化程序:
public init(request: URLRequest,engine: Engine)
public convenience init(request: URLRequest,certPinner: CertificatePinning? = FoundationSecurity(),compressionHandler: CompressionHandler? = nil,useCustomEngine: Bool = true)
您似乎想使用第二个。只需使用您的URLRequest
URL
let request = URLRequest(url: url)
self.socket = WebSocket(request: request )
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。