美文网首页
ios NSPredicate—类似数据库的简易筛选方式

ios NSPredicate—类似数据库的简易筛选方式

作者: 紫释沐沐 | 来源:发表于2019-03-08 11:32 被阅读0次

1.正则表达式的使用 -- 判断6-12位字母或数字

NSString *regularExpression =@"^[A-Za-z0-9]{6,12}$";

NSPredicate *regularExpressionResult = [NSPredicate predicateWithFormat:@"SELF MATCHES %@",regularExpression];

return [regularExpressionResult evaluateWithObject:self]  ? YES NO;

2.筛选数据模型中是否包含某种条件的数据集合

条件:一个模型数组(allDataArray<User>),模型中包含name(名字)和hobby(爱好)字段,筛选名字包含*a*b*(ab任意位置匹配)或者爱好包含篮球的数据

NSPredicate *pred = [NSPredicate predicateWithFormat:@"name LIKE '*a*b*' OR hobby LIKE '*篮球*'"];(其表达式类似于数据库筛选语句,可参考使用)

或者以参数形式

NSPredicate *pred = [NSPredicate predicateWithFormat:@"name LIKE %@ OR hobby LIKE %@",@"*a*b*",@"*篮球*"];

NSArray *resultArray<User> = [allDataArray filteredArrayUsingPredicate:pred];

resultArray<User>即为最终筛选完符合条件的剩余模型数组

相关文章

网友评论

      本文标题:ios NSPredicate—类似数据库的简易筛选方式

      本文链接:https://www.haomeiwen.com/subject/vslkpqtx.html