Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ios/121.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ios NSPredicate特定大小写[NSString属性的子字符串包含在NSArray中]_Ios_Objective C_Nspredicate - Fatal编程技术网

Ios NSPredicate特定大小写[NSString属性的子字符串包含在NSArray中]

Ios NSPredicate特定大小写[NSString属性的子字符串包含在NSArray中],ios,objective-c,nspredicate,Ios,Objective C,Nspredicate,我得到了一个具有两个属性的对象,first_name和last_name 我想根据用户在tableview中搜索名称时使用的搜索字符串筛选UITableView 现在。只要用户不输入空格,我的代码就可以正常工作,例如simon,但如果用户包含空格,则会失败,例如simon be。。。 此外,在输入完整的部分名称之前,不会出现任何名称,这很明显是为什么在查看代码时,例如simo没有给出任何东西,但simon给出了一些东西 现在,我正在寻找一个谓词,它可以根据这两个属性和获得的搜索查询过滤我的数组

我得到了一个具有两个属性的对象,first_name和last_name

我想根据用户在tableview中搜索名称时使用的搜索字符串筛选UITableView

现在。只要用户不输入空格,我的代码就可以正常工作,例如simon,但如果用户包含空格,则会失败,例如simon be。。。 此外,在输入完整的部分名称之前,不会出现任何名称,这很明显是为什么在查看代码时,例如simo没有给出任何东西,但simon给出了一些东西

现在,我正在寻找一个谓词,它可以根据这两个属性和获得的搜索查询过滤我的数组

我的代码:

我的问题:如何编写谓词来检查SearchString数组中的first_name或last_name中是否包含任何子字符串


谢谢

在这种情况下,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];