J'ai un realmList, disons studentsList dans un realmObject, disons classe. Je veux demander une liste d'étudiants pour une classe donnée et mettre à jour la même chose dans studentList. Le serveur retourné studentList peut contenir des anciens et des nouveaux étudiants. Donc, je veux que ma liste de domaine mette à jour les informations pour les anciens élèves avec l'ajout de nouveaux élèves le cas échéant.Ajouter/Mettre à jour realmObject dans RealmList
Ce que je fait est,
- Initié une boucle avec la taille == serverReturnedStudentList.size()
- étudiants, créés dans la boucle et ajouté en royaume (en utilisant realm.copyToRealmOrUpdate (étudiant))
- Objet étudiant géré reçu de l'étape 2.
- Récupère la liste des étudiants pour la classe X et vérifie si la liste studentList contient ou non managedObject.
- Sinon, l'étudiant ajouté à studentList else n'a rien fait.
Cela fonctionne comme prévu mais je sais que ce n'est pas la bonne approche. Si j'ignore la vérification "contains" (@ step4) et ajoute directement l'objet géré à realmList, plusieurs entrées commencent à s'afficher dans realmList.
Quelle serait la meilleure approche pour gérer ce scénario?
Un autre problème est, j'ai le nombre n de classe et x sections sous chaque classe. Je fais des requêtes nx en parallèle et quand j'essaie de lancer asyncExecutions nx fois, j'ai une exception de taille de pool (ce qui est évident) et je ne peux pas exécuter ce thread sur une interface utilisateur car mon interface ne répond plus pendant 3-5 secondes la boucle pour chaque studentList est exécutée avec executeTransaction pour chaque étudiant)
Toute aide/suggestion serait grandement appréciée.
Merci à l'avance. À votre santé!
'plusieurs entrées commencent à s'afficher dans realmList. Quelle serait la meilleure approche pour gérer ce scénario? Avez-vous un '@ PrimaryKey'? – EpicPandaForce
En outre, ne pas exécuter une transaction pour chaque étudiant, je ne sais pas pourquoi vous faites cela. – EpicPandaForce
@EpicPandaForce Oui j'ai une clé primaire pour chaque objet étudiant et pour clarifier davantage, il n'y a qu'un seul objet pour l'élève dit x, mais plusieurs entrées sont là pour studentX dans studentList si je saute studentList.contains (studentX) étape avant ajouter studentX à studentList. – AndoAiron