NSPredicate 谓词
生活随笔
收集整理的這篇文章主要介紹了
NSPredicate 谓词
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
比較運算符 ??????? /**比較運算符
???????? * >:大于
???????? * <:小于
???????? * >=:大于等于
???????? * <=:小于等于
???????? * =,==:等于
???????? * !=,<>:不等于 ???????? * between:左邊的表達式等于右邊的表達式的值或者介于它們之間。右邊是一個有兩個指定上限和下限的數值的數列(指定順序的數列)。比如,1 BETWEEN { 0 , 33 },或者$INPUT BETWEEN { $LOWER, $UPPER }。 ? ? ?? NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age<%d",30]; ?????NSArray *array = [persons filteredArrayUsingPredicate:predicate]; ? in(包含) ? name以a開頭的 predicate = [NSPredicate predicateWithFormat:@"name BEGINSWITH 'a'"]; ? name以ba結尾的 predicate = [NSPredicate predicateWithFormat:@"name ENDSWITH 'ba'"]; ? name中包含字符a的 predicate = [NSPredicate predicateWithFormat:@"name CONTAINS 'a'"]; ? like 匹配任意多個字符 name中只要有s字符就滿足條件 predicate = [NSPredicate predicateWithFormat:@"name like '*s*'"]; ? ?代表一個字符,下面的查詢條件是:name中第二個字符是s的 predicate = [NSPredicate predicateWithFormat:@"name like '?s'"]; ? ? 1)、過濾對象是數組:使用- (void)filterUsingPredicate:(NSPredicate *)predicate; 針對可變數組進行過濾,過濾掉可變數組中不符合條件的。-(NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate; 針對不可變數組進行過濾,將符合條件的元素組成一個新數組進行返回 ??????? 2)、對單個對象進行判斷過濾使用:- (BOOL)evaluateWithObject:(id)object; 向謂詞對象發送該方法,參數是過濾的對象。常見于和正則表達式配合使用。 ? ? 小結:以上三種方法都可以執行謂詞短語,如果是對數組元素進行過濾的話,我們使用:- (void)filterUsingPredicate:(NSPredicate *)predicate、- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate;更方便,如果是只針對一個對象進行判斷的話,使用- (BOOL)evaluateWithObject:(id)object; 更方便。
???????? * >:大于
???????? * <:小于
???????? * >=:大于等于
???????? * <=:小于等于
???????? * =,==:等于
???????? * !=,<>:不等于 ???????? * between:左邊的表達式等于右邊的表達式的值或者介于它們之間。右邊是一個有兩個指定上限和下限的數值的數列(指定順序的數列)。比如,1 BETWEEN { 0 , 33 },或者$INPUT BETWEEN { $LOWER, $UPPER }。 ? ? ?? NSPredicate *predicate = [NSPredicate predicateWithFormat:@"age<%d",30]; ?????NSArray *array = [persons filteredArrayUsingPredicate:predicate]; ? in(包含) ? name以a開頭的 predicate = [NSPredicate predicateWithFormat:@"name BEGINSWITH 'a'"]; ? name以ba結尾的 predicate = [NSPredicate predicateWithFormat:@"name ENDSWITH 'ba'"]; ? name中包含字符a的 predicate = [NSPredicate predicateWithFormat:@"name CONTAINS 'a'"]; ? like 匹配任意多個字符 name中只要有s字符就滿足條件 predicate = [NSPredicate predicateWithFormat:@"name like '*s*'"]; ? ?代表一個字符,下面的查詢條件是:name中第二個字符是s的 predicate = [NSPredicate predicateWithFormat:@"name like '?s'"]; ? ? 1)、過濾對象是數組:使用- (void)filterUsingPredicate:(NSPredicate *)predicate; 針對可變數組進行過濾,過濾掉可變數組中不符合條件的。-(NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate; 針對不可變數組進行過濾,將符合條件的元素組成一個新數組進行返回 ??????? 2)、對單個對象進行判斷過濾使用:- (BOOL)evaluateWithObject:(id)object; 向謂詞對象發送該方法,參數是過濾的對象。常見于和正則表達式配合使用。 ? ? 小結:以上三種方法都可以執行謂詞短語,如果是對數組元素進行過濾的話,我們使用:- (void)filterUsingPredicate:(NSPredicate *)predicate、- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate;更方便,如果是只針對一個對象進行判斷的話,使用- (BOOL)evaluateWithObject:(id)object; 更方便。
轉載于:https://www.cnblogs.com/Ager/p/4941211.html
總結
以上是生活随笔為你收集整理的NSPredicate 谓词的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 正则 js截取时间
- 下一篇: Haproxy 让后端RS记录真实IP