gpt4 book ai didi

ios - NSFetchRequest 无法获取上下文中存在的实体

转载 作者:行者123 更新时间:2023-11-28 20:36:44 24 4
gpt4 key购买 nike

我在上下文中插入实体 A 时遇到问题。在我插入所有实体 A 之后,我立即在上下文中执行获取请求:

NSEntityDescription* entity = [NSEntityDescription entityForName:@"A" inManagedObjectContext:ctx];
NSFetchRequest* fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:entity];
NSError* fetchError;
NSArray* results = [ctx executeFetchRequest:fetchRequest error:&fetchError];

上面的代码能够获取所有这些,我可以在 NSLog 中看到它们...

在同一上下文之后,我尝试获取年龄 = 5 的所有实体 A,如下所示:(我将“年龄”分配给属性,将 NSString @"5"分配给值)

NSEntityDescription* entity = [NSEntityDescription entityForName:@"A" inManagedObjectContext:ctx];
NSFetchRequest* fetchRequest = [[NSFetchRequest alloc] init];
[fetchRequest setEntity:entity];
NSPredicate *filter = [NSPredicate predicateWithFormat:@"%K == %@",attr,value];
[fetchRequest setPredicate:filter];
NSError* fetchError;
NSArray* results = [ctx executeFetchRequest:fetchRequest error:&fetchError];

问题在于,即使 NSLog 显示年龄为 5 的实体 A,最后的获取请求始终返回 null!什么都没有。

有什么建议吗?为什么获取所有实体会显示年龄为 5 岁的实体,而仅过滤年龄为 5 岁的实体在同一上下文之后不起作用?

谢谢

最佳答案

尝试将 age 设置为初始化为 5 的 NSNumber 实例,而不是 NSString @"5"。

关于ios - NSFetchRequest 无法获取上下文中存在的实体,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10157118/

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