我有一个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