麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 學院 > 開發設計 > 正文

謂詞(過濾)

2019-11-14 18:59:57
字體:
來源:轉載
供稿:網友

個人認為微詞是個很不錯的東西

1.自定義對象

@interface Person : NSObject@PRoperty(nonatomic , copy)NSString * name;@property(nonatomic , assign)int age;@property (nonatomic , retain)NSArray * familys;@end

2.簡單實用(數據比較)

- (void)testObject1 {    Person *person = [[Person alloc] init];    person.name = @"gulong";    person.age = 24;   //整形比較    NSPredicate * pred = [NSPredicate predicateWithFormat:@"age > 25"];    BOOL match = [pred evaluateWithObject:person];    NSLog(@"%s",(match)?"YES":"NO");
//printf: NO}

3.通配符和正則

- (void)testObject2 {    /*      BEGINSWITH:檢查某個字符串是否以另一個字符串開頭。     ENDSWITH:檢查某個字符串是否以另一個字符串結尾。     CONTAINS:檢查某個字符串是否以另一個字符串內部。     [c]不區分大小寫[d]不區分發音符號即沒有重音符號[cd]既不區分大小寫,又不區分發音符號。     */    Person *person = [[Person alloc] init];    person.name = @"gulong";    person.age = 24;        /* 通配符 */    NSPredicate *predicate1 = [NSPredicate predicateWithFormat:@"name LIKE[cd] '*er*'"];         //*代表通配符Like還接受[cd].    predicate1 = [NSPredicate predicateWithFormat:@"name LIKE[cd] '???er*'"];    //?只匹配一個字符并且還可以接受[cd].    //*表示有多個占位符    /* 正則匹配 */    NSString *regex = @"[A-Za-z]+";    NSPredicate *predicate = [NSPredicate predicateWithFormat:@"SELF MATCHES %@", regex];        if ([predicate evaluateWithObject:@"huang"]) {        NSLog(@"字符串是否為純字母");    }    //printf 字符串是否為純字母
}

4.數組的過濾1(里面的每個對象都是字符串)

- (void)testArray1 {    NSArray *array = [[NSArray alloc]initWithObjects:@"beijing",@"shanghai",@"guangzou",@"wuhan", nil];    NSString *string = @"ang";  //獲取帶有ang的所有字符串,然后形成一個數組    NSPredicate *pred = [NSPredicate predicateWithFormat:@"SELF CONTAINS %@",string];    NSLog(@"%@",[array filteredArrayUsingPredicate:pred]);    //printf: shanghai,guangzou}

 5.數組的過濾2 (使用自定義的person類)

- (void)testArray2 {    Person *person1 = [[Person alloc] init];    person1.name = @"long";    person1.age = 23;        Person *person2 = [[Person alloc] init];    person2.name = @"gu";    person2.age = 23;        Person *person3 = [[Person alloc] init];    person3.name = @"long";    person3.age = 24;    NSArray *persons = @[person1,person2,person3];    //直接使用對象里面的屬性就可以了,不能使用數組的某個對象名(其實    NSPredicate *pred = [NSPredicate predicateWithFormat:@"name == 'long'"]; //相等    // (age > 23) AND (age < 26)   AND 兩者都要滿足,OR 兩種滿足其一就可    // age between {23,26}   從23 到26之間    //@"name IN { 'Herbie', 'Snugs', 'Badger', 'Flap' }"; //包含在其中用IN    NSArray *array = [persons filteredArrayUsingPredicate:pred];    NSLog(@"array %@",[array description]);    }

6.數組過濾3(對象里面還有數據)

@property (nonatomic , retain)NSArray * familys;    //person.h

 

- (void)testArray3 {    Person *person1 = [[Person alloc] init];    person1.name = @"huang";    person1.age = 23;    person1.familys = @[@"zhuge",@"zhangfei",@"liubei"];        Person *person2 = [[Person alloc] init];    person2.name = @"gu";    person2.age = 23;    person2.familys = @[@"suiquan",@"huanggai",@"lusun"];        Person *person3 = [[Person alloc] init];    person3.name = @"huang";    person3.age = 24;    person3.familys = @[@"caochao",@"xiahou",@"caozhi"];        NSArray *persons = @[person1,person2,person3];    /*     * 數組包含時必須為 整個字符串,不是是部分(比如 huanggai 的 huang;這樣是無數據的)     */    NSPredicate *pred = [NSPredicate predicateWithFormat:@"familys CONTAINS 'huanggai'"];    NSArray *array = [persons filteredArrayUsingPredicate:pred];    NSLog(@"array %@",[array description]);  //打印 person2}

 


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 伊人午夜 | 国内精品久久久久影院不卡 | 久久99久久99免费视频 | 亚洲精品动漫在线观看 | 国内精品久久久久影院不卡 | 青草av.久久免费一区 | 毛片大全免费 | 欧美无极品 | 精品在线观看一区 | 黄色片免费视频 | 日韩视频在线不卡 | 欧美一级美国一级 | 久色免费 | 久久草在线观看视频 | 最污网站 | 日本中文字幕网址 | 日本免费一区二区三区四区 | 国产免费观看一区二区三区 | 亚洲影院在线 | 亚洲精品久久久久久 | 欧美18—19sex性护士中国 | 97中文字幕第一一一页 | 一级黄色影片在线观看 | 中文字幕国产一区 | 国产精品看片 | 欧美一级小视频 | 成人在线观看网 | 男女羞羞视频在线免费观看 | 国产羞羞视频在线观看免费应用 | 欧美视频99| 国产精品视频免费网站 | 久草成人在线观看 | 国产精品成人久久 | 午夜激情视频网站 | 一边吃奶一边摸下娇喘 | 国产精品久久久免费看 | 91麻豆蜜桃一区二区三区 | 9999视频| 成人福利电影在线观看 | 一区二区三区四区高清视频 | 九九热久久免费视频 |