Swift 领域模型转换失败
我有一个领域数据库模型,如:Swift 领域模型转换失败,swift,realm,Swift,Realm,我有一个领域数据库模型,如: import RealmSwift class User: Object { let isVerified = RealmOptional<Bool>() @objc dynamic var pk = 0 @objc dynamic var profilePicUrl: String? = nil } 在保存之前,当我尝试转换时,出现以下错误: “RLMEException”,原因:“无效值”ServiceUserMo
import RealmSwift
class User: Object {
let isVerified = RealmOptional<Bool>()
@objc dynamic var pk = 0
@objc dynamic var profilePicUrl: String? = nil
}
在保存之前,当我尝试转换时,出现以下错误:
“RLMEException”,原因:“无效值”ServiceUserModel(isVerified:Optional(false),pk:Optional(123456),profilePicUrl:Optional(“”),类型为“\uu UserDataValue”,用于“bool”属性“Users.isVerified”。”
服务用户模型:
public struct ServiceUserModel: Codable {
public var isVerified: Bool?
public var pk: Int?
public var profilePicUrl: String?
}
由于性能问题,我不想对循环使用。我想一次性保存此数据
保存方法:
func save(users: [Users]){
try! database.write {
database.add(users)
}
}
如何转换它?我认为问题出在这里:
当我试图转换
在处理RealmOptional时,您必须设置它的.value
属性
let isverify=RealmOptional()
现在isVerified.value为nil
isVerified.value=true
现在这是真的
但是您不能使用Bool?
设置值
这同样适用于pk
您应该实现便利初始化()
,并为您的选项提供一些默认值我认为问题出在这里:
当我试图转换
在处理RealmOptional时,您必须设置它的.value
属性
let isverify=RealmOptional()
现在isVerified.value为nil
isVerified.value=true
现在这是真的
但是您不能使用Bool?
设置值
这同样适用于pk
您应该实现便利初始化()
并为您的选项提供一些默认值您已经在ServiceUserModel中将pk var定义为可选的,但在您的Realm object User中它不是可选的。您还提到了使用for循环保存数据和性能问题。您能否包含代码,说明这意味着什么以及您遇到的性能问题的类型?您已经在ServiceUserModel中将pk var定义为可选的,但在您的领域对象用户中它不是可选的。您还提到了使用for循环保存数据和性能问题。您是否可以包含代码,说明这意味着什么以及您遇到了什么类型的性能问题?但这样我需要循环在db中插入数据。我是wro吗ng?有没有办法在没有任何循环的情况下插入数据?您可以使用.map
:让realmUsers=serviceUsers.map{User(with servicestruct…)
但是这样我需要循环在db中插入数据。我错了吗?有没有办法在没有任何循环的情况下插入数据?你可以使用.map
:让realmUsers=serviceUsers.map{User(with servicestruct…)}
func save(users: [Users]){
try! database.write {
database.add(users)
}
}