2016-09-15 9 views
7

Realm'da. Birini diğerinin kullanmanın yararları var mı?RealmObject'i Realm'de genişletmek yerine RealmModel'i uygulamak için herhangi bir fayda var mı? Bir nesnenin kalıcı olabilmesi için <code>RealmModel</code> veya <code>RealmObject</code> uzantısını da uygulayabilmesi için

o realm docs diyor tek şey:

RealmObject temel sınıf RealmModel arayüzünü uyguluyor uzanan ve @RealmClass ek açıklaması ekleyerek bir alternatif. RealmObject geçerli

tüm yöntemler statik yöntemlerle sonra kullanılabilir.

cevap

2

extending any non-RealmObject classes is not possible even if you're implementing RealmModel and adding @RealmClass bence sadece özgür extends RealmObject kullanmak için doğal olsun o örnek RealmObject.isValid(realmObject) yerine realmObject.isValid() için kullanmak kendinizi zorlayarak ek karmaşıklığı almak olduğunu düşünürsek.

Hayır, RealmObject'u uzatmaya devam etmelisiniz. implements RealmModel'u kullanmanız, size ek bir fayda sağlamaz.

+2

Şu anda "RealmModel" ile tek faydası, kendi özel 'isValid()' seçeneğiniz olmasıdır. 'RealmObject''ü genişletirseniz, kendi sınıfınızda böyle bir yönteme sahip olamazsınız. –

+0

Sanırım bu, isManaged() 've' isLoaded() '(ve' deleteFromRealm() ') için de geçerli. – EpicPandaForce

+0

Evet, hepsini "final" yaptığımız gibi "RealmObject" deki tüm yöntemlere uygulanır. –

İlgili konular