簡述:
Cocoa框架中的NSPredicate用于查詢械媒,原理和用法都類似于SQL中的where州刽,作用相當(dāng)于數(shù)據(jù)庫的過濾取。
定義(最常用到的方法):
NSPredicate *ca = [NSPredicate predicateWithFormat:(NSString *), ...];
Format:
(1)比較運(yùn)算符>,<,==,>=,<=,!=
可用于數(shù)值及字符串
例:@"number > 100"
(2)范圍運(yùn)算符:IN、BETWEEN
例:@"number BETWEEN {1,5}"
@"address IN {'shanghai','beijing'}"
(3)字符串本身:SELF
例:@“SELF == ‘APPLE’"
(4)字符串相關(guān):BEGINSWITH、ENDSWITH龙巨、CONTAINS
例:@"name CONTAIN[cd] 'ang'" //包含某個字符串
@"name BEGINSWITH[c] 'sh'" //以某個字符串開頭
@"name ENDSWITH[d] 'ang'" //以某個字符串結(jié)束
注:[c]不區(qū)分大小寫[d]不區(qū)分發(fā)音符號即沒有重音符號[cd]既不區(qū)分大小寫,也不區(qū)分發(fā)音符號够庙。
(5)通配符:LIKE
例:@"name LIKE[cd] 'er'" //代表通配符,Like也接受[cd].
@"name LIKE[cd] '???er'"
(6)正則表達(dá)式:MATCHES
例:NSString *regex = @"^A.+e$"; //以A開頭恭应,e結(jié)尾
@"name MATCHES %@",regex