按属性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];
事件实体的一个属性是一个名为“ 2”的字符串。我还有一个数组
filterArray
,其中包含所有允许的tid值。 如何获得我的Core Data请求以仅返回具有与
filterArray
中的值之一匹配的tid属性的事件?我相信答案与NSPredicate有关,但我对它还不熟悉,无法屈服于我的意愿。     
已邀请:
尝试这个:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@\"tid IN %@\", filterArray];

[request setPredicate:predicate];
请参阅《谓词编程指南》中的“聚合操作”。 编辑 看看NSPredicate iPhone 3.2 SDK核心数据“ IN子句” NSInvalidArgumentException异常。这是您遇到的相同错误。问题是列/属性名称中有错字。语法应该没问题,不能仅找到
tid
。     

要回复问题请先登录注册