gpt4 book ai didi

ios - 从核心数据中获取随机对象

转载 作者:塔克拉玛干 更新时间:2023-11-02 21:22:01 24 4
gpt4 key购买 nike

我需要从核心数据文件中获取随机对象,比如 10 个随机对象。

我该怎么做?

这是我的NSFetchRequest设置

- (NSFetchRequest *)fetchRandom
{
if (!_fetchRandom) {
_fetchRandom = [[NSFetchRequest alloc] init];
}
[_fetchRandom setEntity:[NSEntityDescription entityForName:@"Contacts" inManagedObjectContext:self.oneManagedObjectContext]];

NSPredicate *predicate = [NSPredicate predicateWithFormat:@"checked = %@", @"0"];
[_fetchRandom setPredicate:predicate];

NSUInteger count = [self.oneManagedObjectContext countForFetchRequest:_fetchRandom error:NULL];


NSUInteger random = (arc4random() % 5) + 3;

[_fetchRandom setFetchLimit:random];

return _fetchRandom;
}

最佳答案

您不是在这里获取 10 个随机对象。相反,通过将获取限制设置为 random ,您可以获取随机数量的对象。

要实际获取随机对象,您必须更改谓词。

一种方法是为实体分配一个属性,并将某个数字作为其值 - 比如“sortKey”,在构建数据库时将其唯一地分配给每个对象。

现在获取 10 个随机值并更改谓词以返回在这组 10 个随机值中具有 sortKey 的对象。

将 FetchLimit 设置为 10。

关于ios - 从核心数据中获取随机对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24905897/

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