core-data - NSFetchRequest 在第一次运行时返回对象,但随后不返回对象

标签 core-data nsfetchrequest

我有一组对象,对于该组中的每个对象,我调用一个内部有 NSFetchRequest 的方法。此 NSFetchRequest 用于根据传递到方法中的 id 获取对象。对于我的每个对象,如果这是第一次在 NSFetchRequest 的谓词中使用 id,我会调用此方法,它会返回正确的对象,之后每次如果再次使用该 id,它都会返回 nil。我对此感到非常困惑,找不到任何关于为什么会发生这种情况或我做错了什么的信息。任何帮助将不胜感激。

这是我的 NSFetchRequest 的代码:

NSFetchRequest *request = [[NSFetchRequest alloc] init];

[request setEntity:[NSEntityDescription entityForName:@"Styles" inManagedObjectContext:[self managedObjectContext]]];

[request setPredicate:[NSPredicate predicateWithFormat:@"style_id == %@", style_id]];

NSError *error = nil;

Styles *r_styles = [[[self managedObjectContext] executeFetchRequest:request error:&error] lastObject];

[request release]; 

最佳答案

我解决了我的问题。当我应该将我的 id 作为 NSNumber 传递时,我却将其作为 NSString 传递。将其更改为 NSNumber 解决了我的问题。

关于core-data - NSFetchRequest 在第一次运行时返回对象,但随后不返回对象,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7989698/

相关文章:

ios - 如何从核心数据数据库中删除 iCloud 同步

swift - 核心数据更新不起作用

ios - Swift - CoreData NSPredicate - 获取父级的子级

arrays - NSSortDescriptor 使用实体的 NSDate 属性(Swift)

iphone - 访问 NSManagedObject 的数据属性给我带来了内存问题

ios - NSFetchRequest 挂起

ios - iCloud 和核心数据错误(无处不在 : Didn't get baseline metadata back from metadata url)

xcode - Mogenerator 和 Xcode 4

iphone - 嵌套树结构中的核心数据获取请求

ios - 如何在 swift 3 中添加带有 ConcerrencyType 的 NSManagedObjectContext?