sam*_*ize 3 sorting iphone core-data objective-c
我正在使用NSFetchRequest获取一些项目,可以按热门或随机排序.
按照指南,我可以使用NSSortDescriptor轻松按人气排序项目.
NSSortDescriptor *sortDescriptor = [[NSSortDescriptor alloc] initWithKey:@"popularity" ascending:NO];
NSArray *sortDescriptors = [[NSArray alloc] initWithObjects:sortDescriptor, nil];
[request setSortDescriptors:sortDescriptors];
Run Code Online (Sandbox Code Playgroud)
但是我如何随机排序呢?
有没有"随机排序"这样的东西?
如果要随机置换显示的结果NSFetchedResultsController,请记住您正在根据对indexPath控制器获取结果中元素的引用来填充表视图(-objectAtIndexPath:).
因此,您可以做的一件事是NSMutableArray对索引路径(或数组)进行混洗,编写将索引路径映射到置换索引路径的方法.此方法将索引路径作为输入,查找数组(或数组)并将新索引路径作为输出吐出.您可以使用此新索引路径填充表视图.
或者,您可以randomizerTag向Item实体添加属性.您可以使用任何排列函数生成整数排列,{ 1 ... n }并将这些数字保存到商店中的每个记录中.保存后,您可以重新应用,应用排序描述符,对randomizerTag您的记录值进行排序.
| 归档时间: |
|
| 查看次数: |
2389 次 |
| 最近记录: |