Jas*_*bas 11 serialization ios swift
我有struct如下
struct UserInfo
{
var userId : Int
var firstName : String
var lastName : String
}
Run Code Online (Sandbox Code Playgroud)
如何序列化UserInfo要键入的实例Parameters?
var user = UserInfo(userId: 1, firstName: "John", lastName: "Skew")
// Convert user to Parameters for Alamofire
Alamofire.request("https://httpbin.org/post", parameters: parameters)
Run Code Online (Sandbox Code Playgroud)
ale*_*nik 17
只需实现一个dictionaryRepresentation计算变量或函数:
struct UserInfo {
var userId : Int
var firstName : String
var lastName : String
var dictionaryRepresentation: [String: Any] {
return [
"userId" : userId,
"firstName" : firstName,
"lastName" : lastName
]
}
}
Run Code Online (Sandbox Code Playgroud)
用法:
var user = UserInfo(userId: 1, firstName: "John", lastName: "Skew")
let userDict = user.dictionaryRepresentation
Run Code Online (Sandbox Code Playgroud)
您可以使用CodableFirebase库。虽然它的主要目的是将它与Firebase 实时数据库和Firestore 一起使用,但它实际上可以满足您的需求 - 将值转换为 dictionary [String: Any]。
您的模型将如下所示:
struct UserInfo: Codable {
var userId : Int
var firstName : String
var lastName : String
}
Run Code Online (Sandbox Code Playgroud)
然后您可以通过以下方式将其转换为字典:
import CodableFirebase
let model: UserInfo // here you will create an instance of UserInfo
let dict: [String: Any] = try! FirestoreEncoder().encode(model)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
5911 次 |
| 最近记录: |