NSPredicate
là cách NeXTSTEP của xây dựng điều kiện để lọc một bộ sưu tập ( NSArray
, NSSet
, NSDictionary
).
Ví dụ, hãy xem xét hai mảng arr
và filteredarr
:
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",@"c"];
filteredarr = [NSMutableArray arrayWithArray:[arr filteredArrayUsingPredicate:predicate]];
Filterarr chắc chắn sẽ có các mục chỉ chứa ký tự c.
để dễ nhớ những người có nền tảng sql nhỏ đó là
*--select * from tbl where column1 like '%a%'--*
1) chọn * từ tbl -> bộ sưu tập
2) column1 như '% a%' ->NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF contains[c] %@",@"c"];
3) chọn * từ tbl trong đó cột 1 như '% a%' ->
[NSMutableArray arrayWithArray:[arr filteredArrayUsingPredicate:predicate]];
Tôi hi vọng cái này giúp được