我现在正尝试使用以下方法过滤项目:
我的托管对象是这样的:
@interface MyManagedObject:NSManagedObject
@property (nonatomic, retain) NSString *name;
@end
例如,对象的名称是“ABCDEF GHIJKL公司”
当我用字符串“BCD IJK pan”或“BCD pan”等搜索时,
(BCD是ABCDEF的子串,IJK是GHIJKL的子串,pan是公司的子串)
它应该能够找到对象。
我不知道如何用这个来编写谓词。我尝试使用predicateWithBlock:但Core Data不支持来自predicateWithBlock的谓词:
我还尝试先获取所有对象,然后使用谓词块过滤结果。但它非常慢,因为我在Core Data中有大约10M个对象。
所以我想问一下,我可以在一个谓语中做到这一点吗?非常感谢!!!
答案 0 :(得分:0)
如果包含通配符LIKE
,则可以使用*
执行此操作。因此,如果您使用self LIKE %@, @"*BCD*IJK*pan*
进行搜索,则会找到它