美文网首页
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