将生成的值添加到RealmObject

我已经在Realm中创建了一个模型,如下所示:

 open class Contact() : RealmObject() { @PrimaryKey @Required open var id: String = "" @Required @Index open var firstName: String = "" @Required @Index open var lastName: String = "" @Required @Index open var fullName: String = "" ... } 

更新对象时如何生成fullName

我知道例如在CoreData中,当willSave:_被调用时,你可以改变一个属性。 这将如何为Realm工作?

我试图提供一个getter,但这会打破RealmObject的行为。

谢谢!

您可以在RealmObject使用自定义设置器

 @Required @Index open var firstName: String = "" set(value) { field = value updateFullName() } @Required @Index open var lastName: String = "" set(value) { field = value updateFullName() } private fun updateFullName() { fullName = "$firstName $lastName" } @Required @Index open var fullName: String = ""