gpt4 book ai didi

iphone - 从 NSFetchRequest 检索单个对象

转载 作者:太空狗 更新时间:2023-10-30 03:40:20 28 4
gpt4 key购买 nike

我想从我的 Core Data 数据存储中获取单个对象,这是我一直在使用的代码,但它返回一个对象数组。一定有更简单更好的方法:

NSFetchRequest *request= [[NSFetchRequest alloc] init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Manufacturer" inManagedObjectContext:managedObjectContext];
NSPredicate *predicate =[NSPredicate predicateWithFormat:@"ManufacturerID==%@",[[mitems objectAtIndex:i] objectForKey:@"ManufacturerID"]];
[request setEntity:entity];
[request setPredicate:predicate];

NSError *error;
NSArray *entities = [[managedObjectContext executeFetchRequest:request error:&error] mutableCopy];

最佳答案

如果您的谓词总是获取多个结果:

  • 优化谓词 - 不要忘记您可以使用 AND/OR 等逻辑构建谓词,简单的相等很容易,但在您的情况下可能选择性不够。

  • 只需从数组中选择您想要的结果,这没什么大不了的 - 尽管如果可能的话,也应该可以优化谓词...

  • 考虑重新组织您的数据模型,以便您可以优化谓词以仅返回一项。

获取总是返回一个数组,这是它的定义。但是它可以是一个对象的数组。

关于iphone - 从 NSFetchRequest 检索单个对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3453928/

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