在Realm
中,为了能够坚持对象,它必须执行RealmModel
或扩展RealmObject
。使用其中一种有好处吗?实现RealmModel而不是在Realm中扩展RealmObject有什么好处吗?
所有它在realm docs说是:
到延伸的RealmObject基类实现RealmModel接口并添加@RealmClass注释的备选。
上RealmObject可用的方法都然后可以通过静态方法。
在Realm
中,为了能够坚持对象,它必须执行RealmModel
或扩展RealmObject
。使用其中一种有好处吗?实现RealmModel而不是在Realm中扩展RealmObject有什么好处吗?
所有它在realm docs说是:
到延伸的RealmObject基类实现RealmModel接口并添加@RealmClass注释的备选。
上RealmObject可用的方法都然后可以通过静态方法。
考虑到extending any non-RealmObject
classes is not possible even if you're implementing RealmModel
and adding @RealmClass
,在我看来,你只是强迫自己使用例如RealmObject.isValid(realmObject)
,而不是realmObject.isValid()
您得到自然的免费使用extends RealmObject
获得额外的复杂性。
所以不,你应该坚持延伸RealmObject
。使用implements RealmModel
不会带来额外的好处。
目前'RealmModel'的唯一好处是你可以拥有自己定制的'isValid()'。如果你扩展'RealmObject',你不能在你自己的类中使用这种方法。 –
我想'isManaged()'和'isLoaded()'(和'deleteFromRealm()')也是这样。 – EpicPandaForce
是的,它适用于'RealmObject'上的所有方法,因为我们把它们都做成了final。 –