nspredicate
謂詞工具一般用於過濾陣列資料,也可用來過濾coredata查詢出的資料.
1). 支援keypath
2). 支援正規表示式
在使用之前先新建3個類 teacher info address,詳細**如下
info.h
#importinfo.m@inte***ce
info : nsobject
@property (nonatomic, strong) nsstring *classnum;
@end
#importaddress.h"info.h
"@implementation
info
@end
#importaddress.m@inte***ce
address : nsobject
@property (nonatomic, strong) nsstring *detailaddress;
@end
#importteacher.h"address.h
"@implementation
address
@end
#importteacher.m#import
"info.h
"#import
"address.h
"@inte***ce
teacher : nsobject
@property (nonatomic, strong) nsstring *name;
@property (nonatomic, strong) info *info;
@property (nonatomic, strong) address *address;
@property (nonatomic, assign) nsinteger age;
@end
#import初始化資料並新增進陣列中"teacher.h
"@implementation
teacher
-(instancetype)init
return
self;
}@end
//開始正式的使用謂詞初始化資料
teacher *teacher1 =[[teacher alloc] init];
teacher1.info.classnum = @"
11班"
; teacher1.address.detailaddress = @"
海淀區"
; teacher1.name = @"
l.y.f.";
teacher1.age = 11
;
teacher *teacher2 =[[teacher alloc] init];
teacher2.info.classnum = @"
12班"
; teacher2.address.detailaddress = @"
立水橋"
; teacher2.name = @"
p.k.";
teacher2.age = 20
; teacher *teacher3 =[[teacher alloc] init];
teacher3.info.classnum = @"
11班"
; teacher3.address.detailaddress = @"
萬盛路"
; teacher3.name = @"
y.x.";
teacher3.age = 22
;
//將資料新增進陣列
nsmutablearray *teachers =[[nsmutablearray alloc] initwithobjects:teacher1, teacher2, teacher3, nil];
[1]比較操作(>,=,<=,=)
[2] 字串常規操作 (beginswith,endswith,contains)
[3] 範圍 (between,in)
@"age between "
@"age in " //這個不確定是什麼
[4] 萬用字元 (like)
注:使用?表示乙個字元,*表示多個字元
[5] 邏輯運算 (and,or,not)
[6] 正規表示式
注:^y.+.$ 以y開頭,以.結尾的字元
謂詞NSPredicate的使用
謂詞是用來為資料新增過濾條件,從而更加精確的找到找到所描述條件的資料。蘋果為我們封裝好了nspredicate類,我們可以很方便的得到我們需要的過濾條件。謂詞的簡單語法總結 比較運算 大於 小於 大於等於 小於等於 等於 不等於 between 左邊的表示式等於右邊的表示式的值或者介於它們之間。右邊...
關於謂詞NSPredicate的使用
關於nspredicate的使用,網上已經有很多文章,有一些很不錯,之前看的就是這篇 點選開啟鏈結 根據自己的使用總結下 我主要是用在對陣列的篩選上,相對迴圈陣列然後自己去匹配,要簡潔得多。而且對於陣列裡面巢狀字典或物件的結構很好。1 nspredicate的構建 nspredicate filte...
謂詞 (NSPredicate)使用詳情
謂詞 更加詳細 判斷是否滿足條件 第一種判斷乙個陣列 array 中滿足條件的 nspredicate predicate nspredicate predicatewithformat age 20 定義謂詞 for person p in array 第二種 nspredicate predic...