NSArray与NSPredicate使用

来源:互联网 发布:手机淘宝开店流程 编辑:程序博客网 时间:2024/06/07 04:02

1、 NSArray 存储的对象为NSString,如:

NSArray  *array =@["fine", @"sunny" , @"good"];NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains [cd] %@", "n"];NSArray *filterdArray = [array filterdArrayUsingPredicate:predicate];NSLog(@"%@", filterdArray );//输出 : @"fine", "sunny"

2、 NSArray存储的对象为NSDictionary,如:

    NSArray  *array = @[                        @{@"name":@"sunny"},                        @{@"name":@"fine"},                        @{@"name":@"dfsfsd"},                        @{@"name":@"fdfd"},                        @{@"name":@"wewewe"},                        @{@"name":@"iiui"},                        @{@"name":@"wrewr"},                        @{@"name":@"popp"},                        @{@"name":@"wqww"},                        @{@"name":@"cxcvxvxc"},                        ];    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name contains [cd] %@", "y"];    NSArray *filterdArray = [array filterdArrayUsingPredicate:predicate];    NSLog(@"%@", filterdArray );    // 输出 "sunny"

3、含有属性的对象

@interface Person: NSObject @property (nonatomic, copy) NSString *name;@property (nonatomic, copy) NSString *telephone;@property (nonatomic, assign) NSInteger id;@end// 根据name查询NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name == %@", "tom"]; NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];// 根据id查询NSPredicate *predicate = [NSPredicate predicateWithFormat:@"id== %@", @13]; NSArray *filteredArray = [array filteredArrayUsingPredicate:predicate];
0 0