NSPredicate
является способом благодаря NeXTstep о построении условия для фильтрации коллекции ( NSArray
, NSSet
,NSDictionary
).
Например, рассмотрим два массива arr
и filteredarr
:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",@"c"];
filteredarr = [NSMutableArray arrayWithArray:[arr filteredArrayUsingPredicate:predicate]];
у filterarr обязательно будут элементы, содержащие только символ c.
чтобы было легко запомнить тех, у кого мало фона sql
*--select * from tbl where column1 like '%a%'--*
1) выберите * из таблицы -> сборник
2) column1 как '% a%' ->NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",@"c"];
3) выберите * from tbl, где column1, например '% a%' ->
[NSMutableArray arrayWithArray:[arr filteredArrayUsingPredicate:predicate]];
надеюсь, это поможет