1
我正在使用UICollectionView
开发应用程序。
它是按日期排列的事件集合。我使用NSFetchedResultsController
从数据库中获取数据。但我需要获取当前和未来的活动以及过去两次活动。 对于NSFetchRequest
我使用NSCompoundPredicate
带有复杂谓词的NSFetchedResultsController
NSPredicate *nextPredicate = [NSPredicate predicateWithFormat: @"startAt >= %@", [NSDate date]];
NSPredicate *previousPredicate = [NSPredicate predicateWithFormat:@"startAt < %@", [NSDate date]];
NSCompoundPredicate *resultPredicate = [NSCompoundPredicate andPredicateWithSubpredicates: @[nextPredicate, previuosPredicate]];
fetchRequest.predicate = resultPredicate;
而且我不知道如何限制previousPredicate
只接收2项。
你可以用'setFetchLimit'限制的项目数返回,但该工程对整个请求,所以您可能需要看看分裂请求并以某种方式梳理结果。您还需要添加一个'NSSortDescriptor'来确保您获得距离今天最近的2个 – Flexicoder