根据IOS中的ID执行提取

时间:2012-11-24 16:37:55

标签: ios

我正在尝试编写一个基于我传入的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];
}

1 个答案:

答案 0 :(得分:1)

这个问题很老了,但我遇到了后续讨论中提到的同样的错误。因此,如果其他人最终遇到相同问题,则问题是使用[fetchRequest setHavingPredicate: predicate];而不是[fetchRequest setPredicate: predicate];