修复 NSPredicate
Fix NSPredicate
注意: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 开头的所有结果,依此类推
我猜你的谓词是没问题的。
但过滤用户的结果将在
NSArray *elementFound .
只需打印它,然后在您的程序中使用它。
因为这个方法 return 通过谓词过滤数组,但不改变原来的数组。
要改变原来的,
NSMutableArray * mutab = [[NSMutableArray alloc] initWithArray:arr_employeeData];
[mutab filterUsingPredicate:predicate];
和"mutab"数组,会有过滤后的结果
注意: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 开头的所有结果,依此类推
我猜你的谓词是没问题的。 但过滤用户的结果将在
NSArray *elementFound .
只需打印它,然后在您的程序中使用它。 因为这个方法 return 通过谓词过滤数组,但不改变原来的数组。 要改变原来的,
NSMutableArray * mutab = [[NSMutableArray alloc] initWithArray:arr_employeeData];
[mutab filterUsingPredicate:predicate];
和"mutab"数组,会有过滤后的结果