iOS requête (Parse SDK) comment éviter les doublons ?
Bonjour,
Désolé encore une question (la dernière) mais je profite qu'il y ait des connaisseurs de Parse sur le forum !
Je fais une requête très simple pour afficher des objets :
- (PFQuery *)queryForCollection
{
PFQuery *query = [PFQuery queryWithClassName:@Activity];
[query whereKey:@type equalTo:@likes];
[query includeKey:@toObject];
if ([self.item count] == 0) {
}
[query orderByDescending:@createdAt];
return query;
}
Comme vous pouvez l'observer cette requête porte sur la classe "Activity" à partir de laquelle sont affichés tous les objets "likés" par les utilisateurs.
Le "toObject" pointe sur une seconde classe "object" sur laquelle sont décrits les objets.
La requête fonctionne très bien mais peut afficher des doublons si un objet est liké par plusieurs utilisateurs.
Mon problème : comment empêcher que cette requête puisse afficher plusieurs fois un même objet ? Autrement dit, comment éviter les doublons ?
Si ça peut aider, la classe "object" comporte une String "objectId" sur laquelle on pourrait se référer.
Quelqu'un aurait une idée ou une piste à me suggérer ? Merci par avance !
Mots clés:
Connectez-vous ou Inscrivez-vous pour répondre.
Réponses
Joanna désolé c'est fait !
j'ai tenté quelque chose comme ceci pour ne garder que le dernier "toObject" (et donc éviter les doublons)
mais aucun effet sur le résultat de la requête.
Quelqu'un aurait une idée ou une piste qui pourrait m'aiguiller ? Merci par avance
Je reviens sur ce sujet, je suis sur une piste de reflexion afin d'éviter d'afficher un doublon.
Pour afficher mes objets , j'utilise une collectionView de cette manière :
mon idée serait d'ajouter une condition :
si l' "objectId" relatif à cet objet existe déjà = ne pas afficher cet objet
pensez-vous que je puisse ajouter cette condition et si oui comment la formuler ?
Merci par avance pour votre aide
Après une rapide recherche de PFQuery sur le net, il s'avère qu'il n'y a pas d'options pour faire un distinct.
Donc, il te faut éliminer les doublons par toi-même.
Tu mets le résultat dans un tableau et tu élimines les doublons avec un truc du genre :
Merci pour ton aide Le Chat Noir ! Effectivement dans un premier temps je dois éliminer "manuellement" tous les doublons déjà enregistrés
Ensuite j'ai résolu mon problème en ajoutant un point de repère "tag" lors de l'enregistrement d'un like tout en effaçant simultanément le précédent repère sur un même objet.
Dans ma requête finale je n'ai plus qu'à inclure tous les likes avec le repère "tag" : ça évite ainsi tous les doublons