RealmSwift 与 Alamofire5
Posted
技术标签:
【中文标题】RealmSwift 与 Alamofire5【英文标题】:RealmSwift with Alamofire5 【发布时间】:2018-08-24 03:53:32 【问题描述】:我尝试将 RealmSwift 与 alamofire5 和 Codable 一起使用。我按照这个指南写了一个network layer。
实际上它完美无缺,直到尝试配置 Realm。 我检查了这个question 并找到了这个gist。不幸的是,它并没有解决我的问题。
我也试过这个tutorial,但我得到了错误,我猜 alamofire5 解码器正在抱怨什么。(错误:The data couldn’t be read because it is missing.
)。我试图用这个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
感谢您的阅读,任何帮助将不胜感激:)
【问题讨论】:
【参考方案1】:您不应该在每个参数前面分配值并像这样使它们成为可选的。 模型需要
init()
init(from decoder: Decoder) throws
按照link中的描述编写您的模型
【讨论】:
以上是关于RealmSwift 与 Alamofire5的主要内容,如果未能解决你的问题,请参考以下文章
RealmSwift LinkingObjects和Decodable
RealmSwift:没有这样的模块“RealmSwift”
詹金斯 |可可足类 |斯威夫特 |错误:没有这样的模块“RealmSwift”