zoukankan      html  css  js  c++  java
  • NSPredicate 的使用

     

    NSPredicate:对self每个对象通过谓词进行筛选,判断是否与条件相匹配。作用相当于数据库的过滤取。主要用于从集合中分拣出符合条件的对象,也可以用于字符串的正则匹配

    第一、contains 判断

             NSArray *array = [[ NSArray alloc ] initWithObjects : @"beijing" ,@"shanghai" , @"guangzou" , @"wuhan" , nil ];

            NSString *string = @"ang" ;

            NSPredicate *predicate=[ NSPredicate predicateWithFormat : @"SELF CONTAINS %@" ,string];

            NSArray *result=[array filteredArrayUsingPredicate :predicate];

            NSLog ( @"%@" ,result);

    第二、in 判断

             NSArray *array = [[ NSArray alloc ] initWithObjects : @"beijing" ,@"shanghai" , @"guangzou" , @"wuhan" , nil ];

            NSArray *fieltArr=[[ NSArray alloc ] initWithObjects : @"welcome" , @"to" ,@"beijing" , nil ];

            NSPredicate *predicate=[ NSPredicate predicateWithFormat : @"SELF in %@" ,fieltArr];

            NSArray *result=[array filteredArrayUsingPredicate :predicate];

            NSLog ( @"%@" ,result);

    第三、like运算

             NSString *str= @"badger" ;

            NSString *pattern= @"b??d*" ;

            NSPredicate *predicate=[ NSPredicate predicateWithFormat : @"SELF LIKE %@" ,pattern];

            if ([predicate evaluateWithObject :str])

            {

                NSLog ( @"YES" );

            } else

            {

                NSLog ( @"NO" );

            }

    第四、正则表达式

             NSString *pattern= @".*\_\d{3,5}×\d{3,5}.jpg$" ;

            NSPredicate *predicate=[ NSPredicate predicateWithFormat : @"SELF matches %@" ,pattern];

            NSString *str= @"fdas_300×50009.jpg" ;

            if ([predicate evaluateWithObject :str])

            {

                NSLog ( @"YES" );

            } else

            {

                NSLog ( @"NO" );

            }

  • 相关阅读:
    【JDK源码】从源码看公平锁和非公平锁得区别
    【spring源码解读】spring加载流程refresh之prepareBeanFactory(beanFactory)
    【JDK源码】Synchronized关键字原理,和锁的膨胀过程
    【Spring源码解读】BeanPostProcessor 接口解读
    【spring源码】spring的循环依赖
    JS-04 JS中的函数都是按值传递的
    CSS-03 queue方法
    CSS-02 BFC的理解
    CSS-01 CSS代码标准和规范
    JS-03 牛客网练习
  • 原文地址:https://www.cnblogs.com/wuwangchuxin/p/3701694.html
Copyright © 2011-2022 走看看