gpt4 book ai didi

iPhone操作系统: Fetching a random entity instance using NSPredicate Nsfetchrequest and core data

转载 作者:行者123 更新时间:2023-12-03 18:28:03 25 4
gpt4 key购买 nike

正在开发一个应用程序,其中有大量托管对象,我想根据这些对象获取一些随机实例。

我的问题是,有什么方法可以使用 NSPredicate 和 NSFetchRequest 随机返回多个对象。

我看到您实际上可以使用数据建模器将 NSFetchRequest 添加到实体中,有什么方法可以使用它进行随机获取吗?

此外,确定表“计数”的最佳方法是什么,以便我可以设置随机数生成器的范围。

如果您需要更多详细信息,请告诉我。

谢谢!

尼克

最佳答案

而是将 fetchLimit 与 fetchOffset 结合使用,这样您就可以有效地将单个实体提取到内存中:

NSFetchRequest *myRequest = [[NSFetchRequest alloc] init];
[myRequest setEntity: [NSEntityDescription entityForName:myEntityName inManagedObjectContext:myManagedObjectContext]];
NSError *error = nil;
NSUInteger myEntityCount = [myManagedObjectContext countForFetchRequest:myRequest error:&error];

NSUInteger offset = myEntityCount - (arc4random() % myEntityCount);
[myRequest setFetchOffset:offset];
[myRequest setFetchLimit:1];

NSArray* objects = [myManagedObjectContext executeFetchRequest:myRequest error:&error];
id randomObject = [objects objectAtIndex:0];

关于iPhone操作系统: Fetching a random entity instance using NSPredicate Nsfetchrequest and core data,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2830533/

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