作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我正在尝试使用 Alamofire 5 进行发布请求。我必须使用 Dictionary<String, Any>
对于参数。因为我正在为 Alamofire 编写包装器。但似乎我无法在字典中使用 Any 对象,因为 Alamofire 给了我一个编译器错误:
Value of protocol type 'Any' cannot conform to 'Encodable'; only struct/enum/class types can conform to protocols
let encodedParameters = Dictionary<String, Any>
AF.request(url, method: .get, parameters: encodedParameters, headers: headers)
最佳答案
使用新request
,您可以为请求参数创建自己的结构:
// you might have...
struct FooRequestParameters : Codable {
let paramName1: Int
let paramName2: String
}
// for another type of request, you might have different parameters...
struct BarRequestParameters: Codable {
let somethingElse: Bool
}
FooRequestParameters(paramName1: 1, paramName1: "hello")
而不是你的字典。这与传递字典相同:
[
"paramName1": 1,
"paramName2": "hello"
]
[String: Any]
,你可以很容易地,比如说,给一个
String
应该是
Int
的参数的值, 或者错误地输入参数名称,或者在没有意识到的情况下遗漏了一些参数......等等等等。
关于ios - Alamofire 5 Any In 字典,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/62264354/
我是一名优秀的程序员,十分优秀!