2016-09-25 55 views
0

這是我的示例。 我想在境界存放周的一些型號:當嵌套級別超過3時,展開嵌套RealmProxyObject失去值

class Week extends RealmObject { 
    RealmList<Day> days; 
    int weekNum; 
} 

class Day extends RealmObject { 
    RealmList<SmthNested> smthNested; 
} 

class SmthNested extends RealmObject { 
    RealmList<SmthNestered2> smthNested2; 
} 

class SmthNested2 extends RealmObject { 
    int value; 
} 

所以,當我這樣做

Week week = realm.where(Week.class).equalTo("weekNum", weekNum).findFirst(); 

我得到一個對象一週境界代理對象包裝。正如我可以在調試器中看到的那樣 - 字段爲空,但getter對所有層次結構都可以正常工作。 但是當我將這個對象作爲Week的元素傳遞給其他地方時。它在第三級之後失去所有值:SmthNested元素將具有由getters返回的空值。

這是一個錯誤或錯誤的方式使用領域?

回答

0

我認爲這是正常的,根據文檔(Debugging with Android Studio

調試器可以提供這取決於你使用的調試 觀點誤導值。

它提到您需要注意獲取者以顯示正確的值。

+0

可能是我很不好解釋自己,但對象返回null通過getters後,它傳遞給一些地方(不在調試模式)。 –

+0

你的意思是在不同的線程之間傳遞對象嗎? –

+0

對不起,這不是問題,我剛剛有另一個地方重設我的周對象awterwards((必須刪除此問題。 –

0

對不起,我有我的對象從外部復位。 這是一個問題