陣列和謂詞

2021-07-09 10:48:08 字數 3356 閱讀 1092

#import

#import "person.h"

int main(int argc, const

char * argv) else

person.age = @(20 + i);

[array addobject:person];

} /** 1. 固定值篩選*/

nspredicate * pradicate1 = [nspredicate

predicatewithformat:@"age<25"];

for (person *p in array)

}/*

列印結果

2016-01-13 14:50:31.485 謂詞練習[4050:201773] name --lcq0,  age---20

2016-01-13 14:50:31.487 謂詞練習[4050:201773] name --lcq1,  age---21

2016-01-13 14:50:31.487 謂詞練習[4050:201773] name --lcq2,  age---22

2016-01-13 14:50:31.487 謂詞練習[4050:201773] name --lcq3,  age---23

2016-01-13 14:50:31.487 謂詞練習[4050:201773] name --lcq4,  age---24

*/ /** 2.對陣列過濾 */

nspredicate * pradicate2 = [nspredicate

predicatewithformat:@"age<25"];

nsarray * temp = [array filteredarrayusingpredicate:pradicate2];

nslog(@"%@", temp);/*

可變陣列的 filterusingpredicate 是空的返回值

會直把滿足條件的物件

加入到可變陣列中 */

/* 列印結果

2016-01-13 14:50:31.487 謂詞練習[4050:201773] (

"name --lcq0,  age---20",

"name --lcq1,  age---21",

"name --lcq2,  age---22",

"name --lcq3,  age---23",

"name --lcq4,  age---24")*/

/** 3.使用佔位符過濾 */

nspredicate * pradicate3 = [nspredicate

predicatewithformat:@"age < %d", 22];

for (person *p in array)

}/*

列印結果

2016-01-13 14:51:50.980 謂詞練習[4064:202565] name --lcq0,  age---20

2016-01-13 14:51:50.980 謂詞練習[4064:202565] name --lcq1,  age---21

*/ /** 4.使用運算子過濾

例如 && and || or */

nspredicate * pradicate4 = [nspredicate

predicatewithformat:@"age > %d && age < %d", 22, 24];

for (person *p in array)

}/*

列印結果

2016-01-13 14:54:11.564 謂詞練習[4087:203511] name --lcq3,  age---23

*//** 5.判斷是否在某個範圍內*/

nspredicate * pradicate5 = [nspredicate

predicatewithformat:@"name in "];

/*可以用陣列的方式寫

nsarray * inarr = @[@"lcq3", @"wxc6"];

nspredicate * predicate = [nspredicate predicatewithformat:@"name in %@", inarr];

*/for (person *p in array)

}/*

列印結果

2016-01-13 15:00:57.366 謂詞練習[4117:206353] name --lcq3,  age---23

2016-01-13 15:00:57.366 謂詞練習[4117:206353] name --wxc6,  age---26

*//** 6.判斷是否以某個字串開頭*/

nspredicate * pradicate6 = [nspredicate

predicatewithformat:@"name beginswith 'lcq' "];

/*還有以某個字串結尾

nspredicate * pradicate6 = [nspredicate predicatewithformat:@"name endswith 'lcq' "];

還有包含某個字串

nspredicate * pradicate6 = [nspredicate predicatewithformat:@"name contains 'l' "];

還有可以模糊查詢

nspredicate * pradicate6 = [nspredicate predicatewithformat:@"name like '*c*0' "];

條件的模糊查詢方式

nsstring * pre = [nsstring stringwithformat:@"name like '*%@*'",@"c"];

nspredicate * pradicate6 = [nspredicate predicatewithformat:pre];

*/for (person *p in array)

}/*

列印結果

2016-01-13 15:12:57.786 謂詞練習[4166:213385] name --lcq0,  age---20

2016-01-13 15:12:57.786 謂詞練習[4166:213385] name --lcq1,  age---21

2016-01-13 15:12:57.786 謂詞練習[4166:213385] name --lcq2,  age---22

2016-01-13 15:12:57.786 謂詞練習[4166:213385] name --lcq3,  age---23

2016-01-13 15:12:57.786 謂詞練習[4166:213385] name --lcq4,  age---24*/}

return0;}

mysql 謂詞 Mysql謂詞

謂詞你想成為幸福的人嗎?但願你首先學會吃得起苦。屠格涅夫 學習重點謂詞就是返回值為真值的函式 掌握 like 的三種使用方法 前方一致,中間一致,後方一致 需要注意的 between 包含三個引數 想要取得 null 資料的時候必須使用 is null 可以將子查詢作為 in 和 exists 的引...

C 一元謂詞和二元謂詞

include include 演算法標頭檔案 include include using namespace std 返回型別為bool型別 的operator struct greatstruct for each需要使用的偽函式 template typename t void printer...

謂詞和運算子

簡單記憶可以一句話 在t sql 中謂詞是取值為true,false或unknown的表示式。對於通常的函式來說,返回值有可能是數字 字串或者日期等,但是謂詞的返回值都是真值 true false unknown 這是謂詞和函式的最大區別。sql中的謂詞主要有lkie between is null...