Ios Swift无法调用类型为';WebSocket';具有类型为';(url:url)
我在swift中有以下用于web套接字通信的代码,但是当我构建代码时,我得到了错误 代码:Ios Swift无法调用类型为';WebSocket';具有类型为';(url:url),ios,swift,starscream,Ios,Swift,Starscream,我在swift中有以下用于web套接字通信的代码,但是当我构建代码时,我得到了错误 代码: import Foundation import Starscream class StarscreamWebSocket: WebSocketProvider { var delegate: WebSocketProviderDelegate? private let socket: WebSocket init(url: URL) { self.s
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)
}
}
错误:
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)
}
}
无法使用类型为“(url:url)”的参数列表调用类型为“WebSocket”的初始值设定项
可能是什么问题。此框架的
WebSocket
类没有接受单个URL
参数的初始值设定项。它有两个初始值设定项:
public init(request: URLRequest, engine: Engine)
public convenience init(request: URLRequest, certPinner: CertificatePinning? = FoundationSecurity(), compressionHandler: CompressionHandler? = nil, useCustomEngine: Bool = true)
你似乎想用第二个。只需使用URL
let request = URLRequest(url: url)
self.socket = WebSocket(request: request )
实际上,我是在使用这里的代码。作者可能为
WebSocket
编写了一个小扩展,并添加了一个初始值设定器,该初始值设定器采用URL
,以方便使用。感谢您的反馈,我是swift新手,可能我的代码中缺少了一些内容。但在本例中,只有一个参数传递了此链接,已经过时。当您查看库的存储库时,您可以看到它以前在分支swift4
上有一个带有URL
参数的初始值设定项,但后来它被删除了。库的README.md
中的示例使用URLRequest
,而不是URL