我有一個realmList,比如realmObject中的studentsList,比如說class。我想申請一個給定班級的學生列表,並在studentList中更新它。 服務器返回的studentList可能包含舊的和新的學生。所以我希望我的realmList能夠爲老學生更新信息,以及增加新學生(如果有的話)。在RealmList中添加/更新realmObject
我做了什麼,
- 開始與大小循環== serverReturnedStudentList.size()
- 環路內創建學生和領域增加(使用realm.copyToRealmOrUpdate(學生))
- 從步驟2接收到託管學生對象。
- 獲取X類的學生列表,並檢查studentList是否包含該託管對象。
- 如果不是,則將學生添加到studentList中,否則什麼也不做。
它正在按預期工作,但我知道這不是正確的做法。如果我跳過「包含」檢查(@ step4)並直接將管理對象添加到realmList,則多個條目將以realmList開始顯示。
什麼是處理這種情況的最佳方法?
另一個問題是,我在每個類下有'n'個類和'x'部分。我並行發出nx個請求,當我嘗試啓動asyncExecutions n次,我得到了池大小限制異常(這是顯而易見的),我無法在UI線程上運行,因爲我的UI在3-5秒內無響應(while每個studentList的循環執行executeTransaction爲每個學生)
任何幫助/建議將不勝感激。
在此先感謝。乾杯!
'多個條目開始在realmList中顯示。處理這種情況的最佳方法是什麼?'你有'@ PrimaryKey'嗎? – EpicPandaForce
另外,不要爲每個學生執行交易,我不確定你爲什麼這樣做。 – EpicPandaForce
@EpicPandaForce是的,我確實有一個主鍵,每個學生對象,並進一步澄清,只有一個對象爲學生說x,但有多個條目是studentX在studentList,如果我跳過studentList.contains(studentX)之前的步驟將studentX添加到studentList。 – AndoAiron