Swift 来自字典的可编码URL请求参数
我正在尝试使用JSONECoder对字典进行编码。编码的对象将作为URL请求的参数传递给httpBody 我找不到将参数设置为有效的可编码项的方法,以下是我当前的代码:Swift 来自字典的可编码URL请求参数,swift,Swift,我正在尝试使用JSONECoder对字典进行编码。编码的对象将作为URL请求的参数传递给httpBody 我找不到将参数设置为有效的可编码项的方法,以下是我当前的代码: class MyRequest{ var parameters:[String:Encodable] = [:] ..... func urlRequest()->URLRequest{ var request = URLRequest(url:MyURL) le
class MyRequest{
var parameters:[String:Encodable] = [:]
.....
func urlRequest()->URLRequest{
var request = URLRequest(url:MyURL)
let encoder = JSONEncoder()
do {
let jsonBody = try JSONEncoder().encode(parameters) // ERROR HERE
request.httpBody = jsonBody
}
.....
}
}
我在尝试编码的行收到此错误
协议类型“Encodable”不能与“Encodable”一致,因为只有具体类型才能与协议一致错误的意思与它所说的完全一致。要编码的对象必须是符合Encodable的具体类型 一个可能的解决方案是使类成为泛型
class MyRequest<T : Encodable> {
var parameters:[String:T] = [:]
.....
func urlRequest()->URLRequest{
var request = URLRequest(url:MyURL)
let encoder = JSONEncoder()
do {
let jsonBody = try JSONEncoder().encode(parameters)
request.httpBody = jsonBody
}
.....
}
}