我正在Kotlin中创建一个Realm对象.
领域对象:
open class PurposeModel(var _id: Long?,
var purposeEn: String?,
var purposeAr: String?) : RealmObject()
当我编译上面的代码时,我收到此错误:
error: Class "PurposeModel" must declare a public constructor with no arguments if it contains custom constructors.
我在Kotlin找不到与此相关的任何问题.我该如何解决这个问题?
解决方法:
要清除此错误,您必须为属性分配默认值.
像这样更改Realm对象:
open class PurposeModel(var _id: Long? = 0,
var purposeEn: String? = null,
var purposeAr: String? = null) : RealmObject()
现在它将编译.
原因:
When the default value not assigned it will become the parameters of
the constructor, Realm need a public constructor with no arguments.
When the default value assigned, it will become the properties of the
class. So you will get empty constructor by default and clean code.