gpt4 book ai didi

ios - swift + 核心数据。从数据库中获取 N 个随机对象。 N << 尺寸(数据库)

转载 作者:搜寻专家 更新时间:2023-11-01 05:57:50 25 4
gpt4 key购买 nike

我正在尝试制作需要从 CoreData 中获取 N 个随机对象的应用程序。

问题是数据库的大小远远大于我想要获取的对象的数量。因此,希望有一种不影响数据库中所有记录的方法。

是否可以在不向数据库添加额外字段(例如,id)的情况下实现这一点?

我想收到对请求的不同响应,因此选项“使用一些随机函数进行预排序”不起作用。

最佳答案

先统计所有记录:

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"<your entity name>"];
NSUInteger count = [context countForFetchRequest:request error:NULL];

使用fetchOffset:

NSFetchRequest *request = [NSFetchRequest fetchRequestWithEntityName:@"<your entity name>"];
request.fetchLimit = 1;
request.fetchOffset = arc4random_uniform(count);
NSArray *result = [context executeFetchRequest:request error:NULL];

重复 N 次以获得所需数量的对象。

关于ios - swift + 核心数据。从数据库中获取 N 个随机对象。 N << 尺寸(数据库),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34444256/

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