Filter NSPredicate

//

//  main.m

//  filterArray

//

//  Created by yanguo.sun on 13-6-18.

//  Copyright (c) 2013 YEK. All rights reserved.

//


#import <Foundation/Foundation.h>


NSArray *filterArrayWith(NSString *searchText,NSArray *recipes);


int main(int argc, const char * argv[])

{


    @autoreleasepool {

//        NSString *orgString = @"abcdefghijklmnopqrstuvwxyz";

        NSString *orgString = @"ABCDEFGHIJKLMNOPQRSTUVWXYZ";

        srand((unsigned)time(0));

        NSMutableArray *mutArray = [NSMutableArray new];

        for (int i=0; i<10; i++) {

            

            int start = rand()%18+1;

            int lenghth = rand()%5+2;

            NSString *subString = [orgString substringWithRange:NSMakeRange(start, lenghth)];

            [mutArray addObject:subString];

        }

        

        NSLog(@"%@",mutArray);

        

        NSLog(@"%@",filterArrayWith(@"i", mutArray));

        // insert code here...

        NSLog(@"Hello, World!");

        

    }

    return 0;

}

NSArray *filterArrayWith(NSString *searchText,NSArray *recipes){

    

//    基本上,一个Predicate是一个表达式,返回Boolean值(truefalse)。你可以以NSPredicate格式指定查询条件,然后使用NSPredicate 对象过滤数组中的数据。NSArray 提供了filteredArrayUsingPredicate: 方法,该方法返回一个新的数组,数组包含了匹配指定Predicate的对象。Predicate中的SELF关键字 – SELF contains[cd] %@ 指向比较对象(如菜单名称)。操作符[cd] 表示比较操作 – case diacritic 不敏感。

    NSPredicate *resultPredicate = [NSPredicate

                                    predicateWithFormat:@"SELF contains[cd] %@",searchText];

    

    

      return [recipes filteredArrayUsingPredicate:resultPredicate];

}


Thunder Download Plugin
Thunder Download Plugin
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值