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