[IOS開發(fā)]CoreData條件查詢之NSPredicate應用

NSPredicate用于查詢和過濾
在SQL中作為查詢條件通常用WHERE予弧,但在COREDATA中作為查詢條件就可以用到NSPredicate.
NSPredicate 不單可以和COREDATA中的FetchRequest 配合使用。也可以與NSArray配合使用杀捻。
NSPredicate 中支持的關鍵詞和條件符:

  1. >,<,>=,<=,= 比較運算符蚓庭。
    如:
    NSPredicate * qcondition= [NSPredicate predicateWithFormat:@"salary >= 10000"];

  2. 字符串操作(包含):BEGINSWITHENDSWITH拄踪、CONTAINS
    如:

     @"employee.name BEGINSWITH[cd] '李'" //姓李的員工
     @"employee.name ENDSWITH[c] '夢'"   //以夢結束的員工
     @"employee.name CONTAINS[d] '宗'"   //包含有"宗"字的員工
    

注:[c]不區(qū)分大小寫[d]不區(qū)分發(fā)音符號即沒有重音符號[cd]既不區(qū)分大小寫拳魁,也不區(qū)分發(fā)音符號。

  1. 范圍:IN 姚糊,BWTEEN
    如:
    @"salary BWTEEN {5000,10000}"
    @"em_dept IN '開發(fā)'"

  2. 自身:SELF,這個只針對字符數(shù)組起作用贸辈。
    如:
    NSArray * test = =[NSArray arrayWithObjects: @"guangzhou", @"beijing", @"shanghai", nil];
    @"SELF='beijing'"

  3. 通配符:LIKE
    LIKE 使用?表示一個字符肠槽,*表示多個字符,也可以與c嘴拢、d 連用寂纪。
    如:
    @"car.name LIKE '?he?'" //四個字符中,中間為he
    @"car.name LIKE '*jp'" //以jp結束

  4. 正則表達式:MATCHES
    如:
    NSString *regex = @"^E.+e$";//以E 開頭孝冒,以e 結尾的字符拟杉。
    NSPredicate *pre= [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];
    if([pre evaluateWithObject: @"Employee"]){
    NSLog(@"matches YES");
    }else{
    NSLog(@"matches NO");
    }

  5. 邏輯運算符:ANDOR啼染、NOT
    如:
    @"employee.name = 'john' AND employee.age = 28"

  6. 占位符:
    NSPredicate *preTemplate = [NSPredicate predicateWithFormat:@"name==$NAME"];
    NSDictionary *dic=[NSDictionary dictionaryWithObjectsAndKeys: @"Name1", @"NAME",nil];
    NSPredicate *pre=[preTemplate predicateWithSubstitutionVariables: dic];
    占位符就是字典對象里的key焕梅,因此你可以有多個占位符贞言,只要key 不一樣就可以了阀蒂。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市酗失,隨后出現(xiàn)的幾起案子昧绣,更是在濱河造成了極大的恐慌,老刑警劉巖拖刃,帶你破解...
    沈念sama閱讀 217,657評論 6 505
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異央碟,居然都是意外死亡均函,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,889評論 3 394
  • 文/潘曉璐 我一進店門洛勉,熙熙樓的掌柜王于貴愁眉苦臉地迎上來墩朦,“玉大人,你說我怎么就攤上這事牛哺±头停” “怎么了?”我有些...
    開封第一講書人閱讀 164,057評論 0 354
  • 文/不壞的土叔 我叫張陵淳附,是天一觀的道長蠢古。 經(jīng)常有香客問我,道長草讶,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,509評論 1 293
  • 正文 為了忘掉前任坤溃,我火速辦了婚禮薪介,結果婚禮上,老公的妹妹穿的比我還像新娘汁政。我一直安慰自己,他們只是感情好烂完,可當我...
    茶點故事閱讀 67,562評論 6 392
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著祝旷,像睡著了一般嘶窄。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上吻谋,一...
    開封第一講書人閱讀 51,443評論 1 302
  • 那天现横,我揣著相機與錄音,去河邊找鬼戒祠。 笑死骇两,一個胖子當著我的面吹牛低千,可吹牛的內容都是我干的。 我是一名探鬼主播示血,決...
    沈念sama閱讀 40,251評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼难审,長吁一口氣:“原來是場噩夢啊……” “哼亿絮!你這毒婦竟也來了?” 一聲冷哼從身側響起壹无,我...
    開封第一講書人閱讀 39,129評論 0 276
  • 序言:老撾萬榮一對情侶失蹤斗锭,失蹤者是張志新(化名)和其女友劉穎失球,沒想到半個月后帮毁,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體豺撑,經(jīng)...
    沈念sama閱讀 45,561評論 1 314
  • 正文 獨居荒郊野嶺守林人離奇死亡聪轿,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,779評論 3 335
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了灯抛。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 39,902評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡对嚼,死狀恐怖纵竖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情靡砌,我是刑警寧澤声邦,帶...
    沈念sama閱讀 35,621評論 5 345
  • 正文 年R本政府宣布,位于F島的核電站邓了,受9級特大地震影響,放射性物質發(fā)生泄漏骗炉。R本人自食惡果不足惜蛇受,卻給世界環(huán)境...
    茶點故事閱讀 41,220評論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望乍丈。 院中可真熱鬧,春花似錦轻专、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,838評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽宗收。三九已至,卻和暖如春采驻,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背挑宠。 一陣腳步聲響...
    開封第一講書人閱讀 32,971評論 1 269
  • 我被黑心中介騙來泰國打工颓影, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人诡挂。 一個月前我還...
    沈念sama閱讀 48,025評論 2 370
  • 正文 我出身青樓璃俗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親城豁。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,843評論 2 354

推薦閱讀更多精彩內容