首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >领域模型转换失败

领域模型转换失败
EN

Stack Overflow用户
提问于 2019-05-25 10:15:14
回答 1查看 113关注 0票数 1

我有一个领域db模型,类似于:

代码语言:javascript
复制
import RealmSwift

class User: Object {

    let isVerified = RealmOptional<Bool>()   
    @objc dynamic var pk = 0
    @objc dynamic var profilePicUrl: String? = nil
}

我从服务获取数据,它返回相同的名称和类型,就像领域模型一样。

我想把这些数据保存到数据库中。但是,当我试图将模型转换为realm model时,它会产生错误。

代码语言:javascript
复制
let data = [Users(value: serviceUser)] -> serviceUser comes from service.

在保存之前,当我尝试转换时,我会得到以下错误:

‘'RLMException',原因:’无效值'ServiceUserModel(isVerified:可选(假),pk:可选(123456),profilePicUrl:可选(“”)类型为'__UserDataValue‘类型的'bool’属性‘Users.Veriize’。‘’

serviceUser模型:

代码语言:javascript
复制
public struct ServiceUserModel: Codable {
    public var isVerified: Bool?    
    public var pk: Int?
    public var profilePicUrl: String?
}

由于性能问题,我不想使用for循环。我想一次保存这些数据。

保存方法:

代码语言:javascript
复制
func save(users: [Users]){

        try! database.write {
            database.add(users)
        }
    }

我怎样才能把它转换?

EN

回答 1

Stack Overflow用户

发布于 2019-05-25 14:03:38

我认为问题就在这里:

当我试图皈依

在处理RealmOptional时,必须设置它的.value属性。

let isVerified = RealmOptional<Bool>()现在isVerified.value是零

isVerified.value = true现在是真的了

但是您不能使用Bool?来设置值。

这同样适用于pk

您应该实现convenience init(),并为选项提供一些默认值。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56303872

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档