J'essaie de trouver la bonne façon de paginer les résultats en utilisant le Parse SDK pour iOS. Le problème que j'ai est que le contenu que j'essaie de paginer a le potentiel de changer fréquemment.Pagination avec contenu dynamique
Par exemple:
Il y a une application avec un tas d'objets stockés sur un serveur, et la demande pour obtenir ces objets est triés par ordre récent et paginé au cas où il y a beaucoup d'objets. Lorsque l'utilisateur défile, à l'approche du dernier objet de la page en cours, la page suivante est demandée.
Dites que l'utilisateur fait défiler la page deux, puis un nouvel objet est ajouté à la liste des objets et l'utilisateur fait défiler une autre page. Lorsque la page suivante est demandée, ils recevront une copie du dernier message sur la deuxième page, et comme la page 0 a déjà été chargée, le nouvel objet ne sera pas affiché.
Comment peut-on traiter quelque chose comme ça?
Comment l'implémentation changerait-elle si les objets étaient triés les plus anciens en premier?
Merci d'avance pour l'aide.
Edit: demande de code pseudo
- (void)fetchObjectsForPage:(NSUInteger)page completion:(void (^)(NSArray *_Nullable objects, PageInfo *_Nullable pageInfo, NSError *_Nullable error))completion{
PFQuery *query = [SomeObject query];
[query orderByAscending:@"updatedAt"];
[query setLimit:50];
[query setSkip:50 * page];
[query findObjectsInBackgroundWithBlock:^{NSArray *_Nullable objects, NSError *_Nullable error){
...
>>> Do error checking and return array along with paging info (total number of objects, page size) or error in completion block.
}];
}
Ce n'est pas la demande que je vais avoir du mal avec, il est à comprendre comment gérer correctement la pagination dans la table lorsqu'un nouvel objet est ajouté.
pouvez-vous s'il vous plaît collez votre requête qui gèrent la demande '? –
Le code est pour un projet client dont je ne suis pas autorisé à partager. Je vais mettre un code pseudo bien. – RPK