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" );

            }

  • 相关阅读:
    左边的div导航根据右部div内容的高自动调整
    IE中在a标签里的图片会显示边框
    MVC4中视图获取控制器中返回的json格式数据
    Oracle 分页
    各个数据库中top 的表示方法
    AndroidPageObjectTest_TimeOutManagement.java
    AndroidSlideTest.java
    区分:AndroidDriver, iOSDriver, AppiumDriver and Remote WebDriver
    区分:WebElement, MobileElement, AndroidElement, and iosElement
    AndroidTest.java
  • 原文地址:https://www.cnblogs.com/wuwangchuxin/p/3701694.html
Copyright © 2011-2022 走看看