我正在尝试编写一个基于我传入的ID(NSInteger值)执行提取的方法。我可以形成一个提取,但是当我添加谓词时,程序崩溃了。我做错了谓词吗?
-(BOOL)finding:(NSInteger)theID
{
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"self == %i",theID];
NSFetchRequest *fetchRequest = [[NSFetchRequest alloc]init];
NSEntityDescription *entity = [NSEntityDescription entityForName:@"Course" inManagedObjectContext:_cdStack.managedObjectContext];
[fetchRequest setEntity:entity];
[fetchRequest setHavingPredicate:predicate];
NSError *error = nil;
NSArray *fetchedObjects = [_cdStack.managedObjectContext executeFetchRequest:fetchRequest error:&error];
}
答案 0 :(得分:1)
这个问题很老了,但我遇到了后续讨论中提到的同样的错误。因此,如果其他人最终遇到相同问题,则问题是使用[fetchRequest setHavingPredicate: predicate];
而不是[fetchRequest setPredicate: predicate];
。