按属性IN数组筛选核心数据结果

我目前有Core Data成功返回一个名为Event的特定实体的所有结果:

 NSManagedObjectContext *context = [delegate managedObjectContext]; NSEntityDescription *entityDescription = [NSEntityDescription entityForName:@"Event" inManagedObjectContext:context]; NSFetchRequest *request = [[NSFetchRequest alloc] init]; [request setEntity:entityDescription]; NSError *error; NSArray *fetchResults = [context executeFetchRequest:request error:&error]; 

Event实体的一个属性是一个名为tid的string。 我也有一个包含所有允许的tid值的数组filterArray

我如何让我的核心数据请求只返回具有匹配filterArray中的值之一的tid属性的事件? 我相信答案与NSPredicate有关,但我对此还不够熟悉,还没有完全达到我的意愿。

尝试这个:

 NSPredicate *predicate = [NSPredicate predicateWithFormat:@"tid IN %@", filterArray]; [request setPredicate:predicate]; 

看一下“ Predicate Programming Guide”中的Aggregate Operations 。

编辑

看看NSPredicate iPhone 3.2 SDK核心数据“IN子句”NSInvalidArgumentExceptionexception 。 这是同样的错误,你有。 问题是列/属性名称中的拼写错误。 语法应该没问题,它不能findtid