Ios NSPredicate特定大小写[NSString属性的子字符串包含在NSArray中]
我得到了一个具有两个属性的对象,first_name和last_name 我想根据用户在tableview中搜索名称时使用的搜索字符串筛选UITableView 现在。只要用户不输入空格,我的代码就可以正常工作,例如simon,但如果用户包含空格,则会失败,例如simon be。。。 此外,在输入完整的部分名称之前,不会出现任何名称,这很明显是为什么在查看代码时,例如simo没有给出任何东西,但simon给出了一些东西 现在,我正在寻找一个谓词,它可以根据这两个属性和获得的搜索查询过滤我的数组 我的代码: 我的问题:如何编写谓词来检查SearchString数组中的first_name或last_name中是否包含任何子字符串Ios NSPredicate特定大小写[NSString属性的子字符串包含在NSArray中],ios,objective-c,nspredicate,Ios,Objective C,Nspredicate,我得到了一个具有两个属性的对象,first_name和last_name 我想根据用户在tableview中搜索名称时使用的搜索字符串筛选UITableView 现在。只要用户不输入空格,我的代码就可以正常工作,例如simon,但如果用户包含空格,则会失败,例如simon be。。。 此外,在输入完整的部分名称之前,不会出现任何名称,这很明显是为什么在查看代码时,例如simo没有给出任何东西,但simon给出了一些东西 现在,我正在寻找一个谓词,它可以根据这两个属性和获得的搜索查询过滤我的数组
谢谢在这种情况下,BEGINSWITH可能更合适?您有绑定名字和姓氏的属性吗?为什么不使用块来过滤数组而不是NSPredicate?
// [@"simon", @"be.."]
NSArray *searchStrings = [searchQuery componentsSeparatedByString:@" "];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"first_name IN %@ OR last_name IN %@ ", searchStrings, searchStrings];
[self.connections filterUsingPredicate:predicate];