Swift 无法使用类型为 '(url: URL) 的参数列表调用类型 'WebSocket' 的初始值设定项
Swift Cannot invoke initializer for type 'WebSocket' with an argument list of type '(url: URL)
我在 swift 中有以下用于网络套接字通信的代码,但是当我构建代码时出现错误。
代码:
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
class 没有采用单个 URL
参数的初始化程序。它有两个初始化器:
public init(request: URLRequest, engine: Engine)
public convenience init(request: URLRequest, certPinner: CertificatePinning? = FoundationSecurity(), compressionHandler: CompressionHandler? = nil, useCustomEngine: Bool = true)
你好像想用第二个。只需用 URL
创建一个 URLRequest
let request = URLRequest(url: url)
self.socket = WebSocket(request: request )
我在 swift 中有以下用于网络套接字通信的代码,但是当我构建代码时出现错误。
代码:
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
class 没有采用单个 URL
参数的初始化程序。它有两个初始化器:
public init(request: URLRequest, engine: Engine)
public convenience init(request: URLRequest, certPinner: CertificatePinning? = FoundationSecurity(), compressionHandler: CompressionHandler? = nil, useCustomEngine: Bool = true)
你好像想用第二个。只需用 URL
URLRequest
let request = URLRequest(url: url)
self.socket = WebSocket(request: request )