zoukankan      html  css  js  c++  java
  • ios

    • 谓词在搜索的时候非常管用.简单示例代码如下:
    • 分类Person.h文件
    
    #import <Foundation/Foundation.h>
    
    @interface Person : NSObject
    
    @property (nonatomic, copy) NSString *name;
    @property (nonatomic, assign) int age;
    
    @end
    
    
    • Person.m文件 重写一下description方法,输出打印时 便于观看
    
    #import "Person.h"
    
    @implementation Person
    
    
    -(NSString *)description{
    
        return [NSString stringWithFormat:@"%@ -- %d",_name,self.age];
    }
    
    @end
    
    
    
    • 控制器代码:
    
    //
    //  ViewController.m
    //  谓词练习
    //
    //  Created by 裴波波 on 16/5/4.
    //  Copyright © 2016年 裴波波. All rights reserved.
    //
    
    #import "ViewController.h"
    #import "Person.h"
    @interface ViewController ()
    
    @end
    
    @implementation ViewController
    
    - (void)viewDidLoad {
        [super viewDidLoad];
    
        NSMutableArray * arrayM = [NSMutableArray array];
        for (int i = 0; i< 50; i ++ ) {
            Person *  per = [Person new];
            
            int age = arc4random_uniform(1456);
            NSString * str = [NSString stringWithFormat:@"Tom%03d",age];
            per.age = age;
            per.name = str;
            [arrayM addObject:per];
            
        }
        NSLog(@"%@",arrayM);
        /**
         
         && 且
         || 或
         ! 非
         
                    比较运算符 例如:@"number >= 99"
         <  小于
         <= 小于等于
         == 等于
         >  大于
         >= 大于等于
         BETWEEN {a,b} 包含在区间  例:@"number BETWEEN {1,5}"
         
         BEGANWITH:以指定字符开始 @"name BEGINSWITH[c] 'sh'" //以某个字符串开头
         ENDSWITH:以指定字符结束 @"name ENDSWITH[d] 'ang'" //以某个字符串结束
         CONTAINS:包含指定字符,可使用修饰符  @"name CONTAIN[cd] 'ang'" //包含某个字符串
         c 不区分大小写
         d 不区分注音符号
         LIKE:使用通配符匹配 @"name LIKE[cd] '*er*'"  *代表通配符,Like也接受[cd].
         ? 一个字符
         * 0个或多个字符
         
         */
        /** 使用谓词 */
        // 条件为 name属性里面包含字符9的,并且age在区间100 ~ 500之间的 per输出打印出来
        NSPredicate * p = [NSPredicate predicateWithFormat:@"name CONTAINS '9' && age BETWEEN {100,500}"];
        NSArray *array = [arrayM filteredArrayUsingPredicate:p];
        NSLog(@"%@",array);
    }
    
    - (void)didReceiveMemoryWarning {
        [super didReceiveMemoryWarning];
        // Dispose of any resources that can be recreated.
    }
    
    @end
    
    
    
    • 通过以上的检索条件就可以筛选出想要的内容.
  • 相关阅读:
    Kubernetes(K8S)集群部署搭建图文教程(最全)
    Kubernetes核心原理和搭建
    Navicat Premium 15注册出现“rsa public key not find”
    centos 7永久修改主机名
    docker 部署jenkins,及构建执行scp指令,一直处于构建状态以及钉钉通知配置
    jenkins 无法连接仓库:Command /usr/bin/git ls-remote -h
    mysql 8.0安装包下载地址
    centos7安装xtrabackup 物理备份工具与使用
    Linux vi/vim编辑器
    解决报错docker 启动报 WARNING: IPv4 forwarding is disabled. Networking will not work.
  • 原文地址:https://www.cnblogs.com/adampei-bobo/p/5459765.html
Copyright © 2011-2022 走看看