推荐 最新
脑袋困掉惹

CoreData分页查询问题详解?

关于coreData 分页查询的问题。 NSMutableArray * temArray = [[NSMutableArray alloc]init]; NSManagedObjectContext *context = [NSManagedObjectContext MR_defaultContext]; NSPredicate *trackTableFilter; trackTableFilter = [NSPredicate predicateWithFormat:@"latest_status=%@", @"InTransit"]; //获取查询条件 NSFetchRequest * request = [TrackTable MR_requestAllWithPredicate:trackTableFilter inContext: context]; //设置排序字段 NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"isTopDate" ascending:YES]; //设置排序数组 NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil]; [request setSortDescriptors:sortDescriptors]; [request setIncludesPendingChanges:YES]; //设置分页查询数目 [request setFetchLimit:10]; //设置查询起始 [request setFetchOffset:pageCount*10];//问题出在这一部分:假如数据有 15 条数据,用户上拉加载至第二页的时候,数据库的所有数据已经全部加载完毕,此时再加入1 条数据(也就是第 16 条数据),这是用户再使用上拉加载的功能的时候,无法加载出第二条数据,因为现在的 pageCount已经是第2 页了,应该是从第 20 条开始加载,但是现在数据库只有 16 条数据,无法加载第16 条数据。我不知道怎么解决了。恳请帮助。非常感谢。🙏。 //执行查询语句 并返回数组 NSArray * arrayss = [TrackTable MR_executeFetchRequest:request]; 想尝试使用类似于 select id >XX limit 10,但是 CoreData 不知道如何实现。

0
1
0
浏览量127