注意: employeename是由多个键值对组成的数组中的一个键。
NSPredicate在用户键入字符明智搜索时查找所有员工姓名的结果
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"employeename BEGINSWITH[cd] %@", searchtxtField.text];
NSArray *elementFound= [arr_employeeData filteredArrayUsingPredicate:predicate];
NSLog(@"arr_add_data=%@",arr_employeeData);
(
{
employeename = "Anoop";
employeeMobile = 11111111;
},
{
employeename = "Anoop singh";
employeeMobile = 11111111;
},
{
employeename = "Anoop kumar";
employeeMobile = 1133111111;
},
{
employeename = "Vijay kumar";
employeeMobile = 22222;
},
)如果你在搜索栏中输入A,他必须得到所有的结果-员工名称,以A开头,以此类推
发布于 2016-08-29 07:51:05
我想用你的谓词就可以了。但是过滤用户的结果将在
NSArray *elementFound .
把它打印出来,然后在你的程序中使用它。因为此方法按谓词返回筛选过的数组,但不更改原始数组。换个原版,
NSMutableArray * mutab = [[NSMutableArray alloc] initWithArray:arr_employeeData];
[mutab filterUsingPredicate:predicate];和"mutab“数组,将有过滤的结果。
https://stackoverflow.com/questions/39200831
复制相似问题