cocoa提供了乙個類nspredicate類,該類主要用於指定過濾器的條件,該物件可以準確的描述所需條件,對每個物件通過謂詞進行篩選,判斷是否與條件相匹配。謂詞表示計算真值或假值的函式。在cocoa中封裝的乙個資料庫框架cocoadata裡面 在進行查詢(包括模糊查詢)時同樣會要用到謂詞;下面對謂詞的使用方法及規則進行簡要的介紹下:
1,用predicatewithformat建立乙個謂詞
nsstring *predicatestring =@"name=='herbie'"
nsstring *predicatestring =@"engine.horsepower > 150" 屬性值
nsstring *predicatestring =@"(engine.horsepower > 50) and (engine.horsepower < 200)";可以運用運算子
nsstring *predicatestring =@"engine.horsepower between ";這裡可以運用between關鍵字。和上面效果一樣
nsstring *predicatestring =@"name in ";包含在其中用in
nsstring *predicatestring =@"name beginswith 'bad'";字串運算子beginswith,endswith,contains[c][d][cd]
beginswith:檢查某個字串是否以另乙個字串開頭。
endswith:檢查某個字串是否以另乙個字串結尾。
contains:檢查某個字串是否以另乙個字串內部。
[c]不區分大小寫[d]不區分發音符號即沒有重音符號[cd]既不區分大小寫,又不區分發音符號。
nspredicate *predicate=[nspredicate predicatewithformat:predicatestring]
results = [cars filteredarrayusingpredicate: predicate];
nslog (@"%@", results);
predicate = [nspredicate predicatewithformat:@"name like[cd] '*er*'"];//*代表萬用字元like還接受[cd].
results = [cars filteredarrayusingpredicate: predicate];
nslog (@"%@", results);
predicate = [nspredicate predicatewithformat:@"name like[cd] '???er*'"];//?只匹配乙個字元並且還可以接受[cd].
results = [cars filteredarrayusingpredicate: predicate];
nslog (@"%@", results);
ios 謂詞的使用
剛入行的小女人,希望以後大家多多關照,把每天學到的知識記錄下,方便以後使用,有不對的地方希望大家多多指點,小女感激不盡。今天剛剛學了謂詞的使用,記錄下。返回乙個符合謂詞條件的陣列 nsarray newarray array filteredarrayusingpredicate predicate...
iOS謂詞的簡單使用
謂詞 條件篩選 nsstring adc 123 判斷字串是不是以xx開頭 yes是 bool result adc hasprefix 1 判斷字串是不是以xx結尾 adc hassuffix 3 nslog d result 謂詞 用法接近於sqlite都是通過對應的語句來進行篩選和查詢 建立謂...
iOS中的謂詞NSPredicate
nspredicate的坑,正規表示式無論是否新增 或 系統會自動新增開始字元和結束字元,和我們平常使用的不太一樣,所以要寫出完整的匹配表示式。nsstring regex u4e00 u9fa5a za z nspredicate predicate nspredicate predicatewi...