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