gpt4 book ai didi

ios - NSFetchedResultsController的随机结果

转载 作者:行者123 更新时间:2023-12-01 19:09:33 25 4
gpt4 key购买 nike

我的实体中有一些数据。我如何才能以随机顺序获取所有条目。即我想一次又一次地洗牌所有条目。

我在这里找到了这个问题的解决方案:Shuffling the results from an NSFetchedResultsController。但是我想获得带有结果的NSFetchedResultsController。有任何想法吗?也许使用NSPredicateNSSortDescriptor

最佳答案

子类NSSortDescriptor可以更改默认的排序行为。这样的事情应该起作用:

@interface RandomSortDescriptor : NSSortDescriptor 
@end

@implementation RandomSortDescriptor

- (id)copyWithZone:(NSZone*)zone
{
return [[[self class] alloc] initWithKey:[self key]
ascending:[self ascending] selector:[self selector]];
}

- (id)reversedSortDescriptor
{
return [[[self class] alloc] initWithKey:[self key]
ascending:![self ascending] selector:[self selector]];
}

- (NSComparisonResult)compareObject:(id)object1 toObject:(id)object2
{
NSUInteger random = arc4random_uniform(3);
switch (random)
{
case 0:
return NSOrderedSame
case 1:
return NSOrderedDescending;
case 2:
return NSOrderedDescending;
}
}

@end

关于ios - NSFetchedResultsController的随机结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17469891/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com