从嵌套结构(具有其他结构的数组)创建字典 Swift
Create a dictionary from a nested structure (with arrays of other Structures) Swift
我正在使用 Alamofire 的 Post 方法;所以我需要从包含其他模型数组的现有嵌套模型创建参数
我一直在寻找一种方法,但徒劳无功,请任何人提供帮助!
我是 SWIFT 的初学者,请停止对我的问题进行评分
喜欢这个例子
struct Car: Codable{
var id :Int,
var name:String,
var users:[User],
..
var dictionaryRepresentation: [String: Any] {
return [
"id" : id,
"name" : name,
"users" : users, XXX WRONG XXX
]
}
}
我很难为“用户:[用户]”字段设置正确的格式
struct User: Codable{
var id :Int,
var name:String,
var email:String,
..
var dictionaryRepresentation: [String: Any] {
return [
"id" : id,
"name" : name,
"email" : email,
]
}
}
由于格式错误,我遇到了这个错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__SwiftValue)'
谢谢,
您需要 map
它到 dictionaryRepresentation
以使其像这样工作:
"users" : users.map { [=10=].dictionaryRepresentation }
更好的方法是传递 var car: Car
对象,因为它已经符合 Codable
Alamafire 为您进行编码,即,您不必使 dictionaryRepresentation
用于将其作为 Alamorire
请求中的参数传递。
我正在使用 Alamofire 的 Post 方法;所以我需要从包含其他模型数组的现有嵌套模型创建参数 我一直在寻找一种方法,但徒劳无功,请任何人提供帮助!
我是 SWIFT 的初学者,请停止对我的问题进行评分
喜欢这个例子
struct Car: Codable{
var id :Int,
var name:String,
var users:[User],
..
var dictionaryRepresentation: [String: Any] {
return [
"id" : id,
"name" : name,
"users" : users, XXX WRONG XXX
]
}
}
我很难为“用户:[用户]”字段设置正确的格式
struct User: Codable{
var id :Int,
var name:String,
var email:String,
..
var dictionaryRepresentation: [String: Any] {
return [
"id" : id,
"name" : name,
"email" : email,
]
}
}
由于格式错误,我遇到了这个错误:
Terminating app due to uncaught exception 'NSInvalidArgumentException', reason: 'Invalid type in JSON write (__SwiftValue)'
谢谢,
您需要 map
它到 dictionaryRepresentation
以使其像这样工作:
"users" : users.map { [=10=].dictionaryRepresentation }
更好的方法是传递 var car: Car
对象,因为它已经符合 Codable
Alamafire 为您进行编码,即,您不必使 dictionaryRepresentation
用于将其作为 Alamorire
请求中的参数传递。