cocoa中提供了nspredicate類,指定過濾器的條件。將符合條件的物件保留下來。
下列列舉常用的nspredicate類的常用方法:
person類含有name和age屬性
初始化乙個物件陣列
nsmutablearray*array=[nsmutablearray
array];
for (int i=0; i<10; i++)
else
person.age=@(20+i);
[array addobject:person];
}//設定謂詞條件
nspredicate *predicate=[nspredicate
predicatewithformat:@"age<25"];
nspredicate *predicate=[nspredicate predicatewithformat:@"age<%d",22];
// 可以用and or || &&
nspredicate *predicate=[nspredicate predicatewithformat:@"age>25 ||age<27"];
nspredicate *predicate=[nspredicate predicatewithformat:@"name='tom-8'"];
//in
關鍵字
nspredicate *predicate=[nspredicate predicatewithformat:@"self.name in" ];
//陣列
nsarray *inarray=@[
@"tom-7",@"jack-3"
];nspredicate *predicate=[nspredicate predicatewithformat:@"self.name in%@",inarray];
//beginwith 檢查某個字是否以**開頭
nspredicate *predicate=[nspredicate predicatewithformat:@"name beginswith 't' or name beginswith 'j'" ];
//endswith 檢查某個字是否以**開頭
nspredicate *predicate=[nspredicate predicatewithformat:@"name endswith '-5'"];
// contains 檢查某個字是否以**開頭
nspredicate *predicate=[nspredicate predicatewithformat:@"name contains '-'"];
//like *4*表示4前後都是有內容的
nspredicate *predicate=[nspredicate predicatewithformat:@"name like'*4*'"];
nsstring
*s=[
nsstring
stringwithformat
:@"name like '*%@*'",@"a"];
nspredicate *predicate=[nspredicate predicatewithformat:s ];
//判斷條件
for(person *p in array)
}//對陣列過濾
nsarray *filtearray=[array filteredarrayusingpredicate:predicate];
nslog(@"%@",filtearray);
int i=10;
nslog("%i",i);
oc謂詞過濾元素
謂詞的乙個常用功能就是對集合進行過濾,當程式使用謂詞對集合進行過濾時,程式將會自動遍歷集合元素,並根據集合元素來計算謂詞的值,只有當根據某個集合元素計算謂詞並返回yes時,該集合元素才會被保留下來。nsarray 提供了如下方法使用謂詞來過濾集合 nsarray filteredarrayusing...
oc基礎語法 oc特有語法(1)
1 根據以前學的,呼叫方法是這樣的 student stu student new stu setage 100 int age stu age 如果用點語法,這樣就可以呼叫了 stu.age 100 int age stu.age 2 點語法的本質 其實點語法的本質還是方法呼叫,當使用點語法時,編...
OC基本語法
基本格式及語法 oc方法的格式 表示類方法,只能用來呼叫。表示例項方法,用物件呼叫 無引數輸入的方法格式 方法的返回值 方法名 例 void func1 nsinteger func2 有引數入的方法格式 方法返回值 方法名 引數1型別 引數1名 方法名 引數2型別 引數2名 例 輸入字串 返回字串...