ios - RealmSwift 与 Alamofire5

标签 ios swift realm alamofire codable

我尝试将 RealmSwift 与 alamofire5 和 Codable 一起使用。我按照本指南写了一个network layer .

实际上它工作得很完美,在尝试配置 Realm 之前没有问题。 我检查了这个question并找到这个gist 。不幸的是它没有解决我的问题。

我也尝试过这个tutorial但我收到错误,我猜 alamofire5 解码器正在提示某些事情。(错误:由于缺少数据而无法读取数据。)。我尝试用此 SO solution 解决该错误但它不起作用,我将所有内容恢复为无境界版本。

这是我的结构:

struct User: Codable{
var account_type:Int? = -1
var gender:String? = ""
var age:Int? = 0
var password:String? = ""
var name:String? = ""
var email:String? = ""
var image_path:String? = ""
var access_token:String? = ""
var refresh_token:String? = ""
var device_id:String? = ""
var card_number:Int? = 0
var id_token:String? = ""
var status:Int? = STATUS_DESCRIPTION.BAD_REQUEST.rawValue
var msg: String? = ""

init(account_type:Int, device_id:String, token:String) {
    self.account_type = account_type
    self.device_id = device_id
    self.id_token = token
}
init(email:String, name:String, password:String, device_id:String, account_type:Int){
    self.password = password
    self.name = name
    self.email = email
    self.account_type = account_type
    self.device_id = device_id
}
init(email:String, password: String, device_id:String, account_type:Int) {
    self.account_type = account_type
    self.device_id = device_id
    self.email = email
    self.password = password
}
}

感谢您的阅读,我们将不胜感激:)

最佳答案

您不应该在每个参数前面赋值并使它们像这样可选。 模型需要

init(){

}


init(from decoder: Decoder) throws{

}

按照此 link 中的描述编写您的模型

关于ios - RealmSwift 与 Alamofire5,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51997227/

相关文章:

iOS:AVPlayer - 获取视频当前帧的快照

ios - 请帮助我的动画不工作 ios

objective-c - 用户接受后,iRate 会自动停止征求评论吗?

ios - Realm 对象服务器 - 何时进行同步?

ios - 从父类(super class)访问子类属性

ios - RxSwift 中 Disposables.create() 的目的

swift - 如何保持 UISwitch 状态

ios - 如何为以前的值制作检索按钮

ios - 如何使用泛型 `Results` 声明可选类属性

android - 从 Realm 中移除 x86_64 包