码迷,mamicode.com
首页 > 其他好文 > 详细

NSPredicate 的使用

时间:2014-05-01 02:43:05      阅读:258      评论:0      收藏:0      [点我收藏+]

标签:com   style   class   div   c   log   t   size   tar   sp   string   

 

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

        }

NSPredicate 的使用,布布扣,bubuko.com

NSPredicate 的使用

标签:com   style   class   div   c   log   t   size   tar   sp   string   

原文地址:http://www.cnblogs.com/wuwangchuxin/p/3701694.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!