android – Kotlin Realm:如果包含自定义构造函数,则类必须声明没有参数的公共构造函数

我正在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.

上一篇:java – Android领域 – 从服务访问领域对象


下一篇:c# – 领域:自动递增主键