什么是謂詞?
- 謂詞是通過NSPredicate類,指定的邏輯條件作為約束條件,完成對數(shù)據(jù)的篩選。
- Cocoa中提供了NSPredicate類,指定過濾器的條件,將符合條件的對象保留下來。
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age<25"];
for (Person *p in arrar) {
BOOL result = [predicate evaluateWithObject:p];
if (result) {
NSLog(@"符合條件:%@",p);
}
}
//將符合條件的保留
[arrar filterUsingPredicate:predicate];
//返回新的數(shù)組
NSArray * arr = [array filteredArrayUsingPredicate:predicate];
NSLog(@"返回新的數(shù)組:%@",arr);
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age <= %d",30];
//謂詞不區(qū)分大小寫&& AND || OR
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name > 'bruse' && age < %d",30];
//關(guān)鍵字 注意字符串一定要添加''
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name IN {'rose', 'bruse'}"];
//{}可以是數(shù)組
NSArray * array = @[@"1",@"2",@"3",@"4"];
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name IN %@",array];
//檢查某個字符串以「A」開頭
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name BEGINSWITH ‘A’"];
//檢查某個字符串以「Z」開頭
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name ENDSWITH ‘Z’"];
NSString * str = @"a";
NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name like ‘*%@*’",str];
最后編輯于 :
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點,簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。