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>即为最终筛选完符合条件的剩余模型数组
网友评论