将预定义的对象传递给 Alamofire
Posted
技术标签:
【中文标题】将预定义的对象传递给 Alamofire【英文标题】:Passing predefined Object to Alamofire 【发布时间】:2020-04-19 22:51:40 【问题描述】:我试图在 Alamofire 中传递一个对象,但没有成功。以下是我的对象
class MyRequestObject : NSObject, Codable
var myData : MyDataType?
var simpleString : String?
MyRequestObject 是一个包含 3-4 个嵌套对象的嵌套对象,我会在某个时间点填充所有对象,然后最终到达这个 VC,在那里我将进行 API 调用。现在,当我到达最终的 VC 时,我的对象充满了数据并准备发送请求,但 Alamofire 不会接受参数中的对象。这就是我想做的事情
let parameters = [
"RequestID" : self.rID,
"RequestTime" : "self.rTime",
"RequestObject" : myRequestObject
]
在日志Invalid type in JSON write FOO.MyRequestObject
中收到此错误
如果我像这样在parameters
中重新创建完整的对象(只是更短的对象供参考)
let parameters = [
"RequestID" : self.rID,
"RequestTime" : self.rTime,
"RequestObject" : [
"key" : self.SomeValue,
"key" : self.SomeValue,
"key" : self.SomeValue,
"seconNestedObj"[
"key" : self.SomeValue,
"thirdNetedObj" : [
"key" : self.SomeValue,
"key" : self.SomeValue
]
]
]
]
它有效。但我不想在这里重新创建所有内容。有什么办法吗,否则我必须在这里做娱乐活动。
我在 android 中做过类似的事情,而且效果很好,我期待在 swift 中也有类似的事情。
谁能告诉我该怎么做?
【问题讨论】:
【参考方案1】:如果您使用的是 Alamofire 5,则可以使用任何 Encodable
类型作为参数,因此我建议您将根参数对象设置为实际的 Encodable
类型并以这种方式构建您的请求。
【讨论】:
您能否提供一个代码 sn-p 来说明您要说的内容。我不明白。 github.com/Alamofire/Alamofire/blob/master/Documentation/…以上是关于将预定义的对象传递给 Alamofire的主要内容,如果未能解决你的问题,请参考以下文章
如何通过自定义 URL 将“属性列表”对象传递给 iOS 应用程序?