我有一组对象,对于该组中的每个对象,我调用一个内部有 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/