NSPredicate 過濾陣列中的自定義物件

2021-10-04 08:19:34 字數 924 閱讀 1807

1、自定義物件:

@inte***ceperson : nsobject

@property(nonatomic,copy)nsstring *name;

@property(nonatomic,strong)nsnumber *age;

@end

2、arr中存放n個person物件

3、過濾name是@"xiaoming"的物件,**如下:【也可以用contains[cd]

注:[c]不區分大小寫 , [d]不區分發音符號即沒有重音符號 , [cd]既不區分大小寫,也不區分發音符號。

nspredicate *predicate = [nspredicate predicatewithformat:@"%k like %@", @"name",@"xiaoming"];

nsarray *filterarr = [arr filteredarrayusingpredicate:predicate];

4、過濾age=20的person  【也可以用 > 、< 、== 、 >= 、<= 、 != 】

nspredicate *predicate = [nspredicate predicatewithformat:@"age = 20"];

nsarray *filterarr = [arrfilteredarrayusingpredicate:predicate];

NSPredicate過濾陣列元素的用法

一般來說這種情況還是蠻多的,比如你從檔案中讀入了乙個array1,然後想把程式中的乙個array2中符合array1中內容的元素過濾出來。正 常傻瓜一點就是兩個for迴圈,乙個乙個進行比較,這樣效率不高,而且 也不好看。其實乙個迴圈或者無需迴圈就可以搞定了,那就需要用搞 nspredicate這個類...

iOS開發 NSPredicate 謂詞過濾

一 根據模型條件過濾陣列 nsmutablearray marr nsmutablearray alloc init testmodel t1 testmodel alloc init t1.age 1 testmodel t2 testmodel alloc init t2.age 3 testm...

Cocoa過濾器NSPredicate的完全用法

從下面的各個例子中,可以體會到nspredicate的強大的能力,作為正規表示式的核心類,確實優化了很多的字串及其正則相關的操作的流程。使 簡潔,而強大!cpp view plain copy print cocoa用nspredicate描述查詢的方式,原理類似於在資料庫中進行查詢 計算謂詞 基本...