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
- 通过以上的检索条件就可以筛选出想要的内容.
 
ios - 谓词的使用的更多相关文章
- iOS:转载:IOS谓词--NSPredicate
		
IOS谓词--NSPredicate 分类: IOS应用2013-02-19 17:24 6792人阅读 评论(1) 收藏 举报 Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在 ...
 - IOS 谓词
		
// 谓词 Person *person = [[Person alloc]init]; person.name = @"zhang san"; person.age = 20; ...
 - iOS 谓词讲解
		
1.NSPredicate (1)比较运算符 1.比较运算符 > .< .== . >= .<= . != 运算符还可以跟逻辑运算符一起使用,&& , || ...
 - iOS 谓词(NSPredicate)的应用
		
Cocoa中谓词(Predicate)提供了一个通用的查询方式处理数据,可以获取和指定数据的过滤形式,Cocoa实际开发中可以是使用NSPredicate及其父类NSComparisonPredica ...
 - IOS自动化定位方式
		
原文地址http://blog.csdn.net/wuyepiaoxue789/article/details/77885136 元素属性的介绍 type:元素类型,与className作用一致,如: ...
 - 关于UI自动化IOS元素定位方法说明
		
1. 元素属性介绍 下图是通过weditor定位的微博的"我的钱包",各属性如下图: className:元素类型,如:XCUIElementTypeButton isEnable ...
 - (转载)中文Appium API 文档
		
该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...
 - 中文Appium API 文档
		
该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...
 - appium desktop
		
Appium-desktop 下载地址:https://github.com/appium/appium-desktop/releases 一般功能 这些能力跨越多个驱动因素. 仅限Android 这 ...
 
随机推荐
- SQL性能学习汇总 00
			
.在一条语句中不要重复使用相同的函数 .尽可能在存储过程中使用临时变量和临时表 如 IF (Object_ID('tempdb..#T') IS NOT NULL) DROP TABLE #T SEL ...
 - jQuery基础知识准备
			
一. 代码风格在jQuery程序中,不管是页面元素的选择.内置的功能函数,都是美元符号"$"来起始的.而这个"$"就是jQuery当中最重要且独有的对象:jQu ...
 - TodoMVC中的Backbone+MarionetteJS+RequireJS例子源码分析之二 数据处理
			
当我们使用jQuery时大部分时间是聚焦于Dom节点的处理,给Dom节点绑定事件等等:前端mvc框架backbone则如何呢? M-Model,Collection等,是聚焦于数据的处理,它把与后台数 ...
 - 安装dede显示dir的解决办法
			
1.遇见安装页面出现dir 2.你这个肯定是已经安装过了的程序,把install文件夹下的index.html删掉,,你再看看install文件夹下有没有install_lock.txt 和index ...
 - POJ 2431Expedition
			
Description A group of cows grabbed a truck and ventured on an expedition deep into the jungle. Bein ...
 - Python for Informatics 第11章 正则表达式六(译)
			
注:文章原文为Dr. Charles Severance 的 <Python for Informatics>.文中代码用3.4版改写,并在本机测试通过. 11.7 调试 Python有一 ...
 - How to parse HTML page data in Windows Phone
			
1. Navigate to page WebBrowser control browser.Navigate(new Uri("http://www.xxxx.com")); 2 ...
 - UI设计中的48dp定律【转】
			
有朋友建议我偶尔写写技术类的文章,所以我打算开始穿插性的写一些偏技术方面的科普文章,尽量往小白能看懂的方向写,今天我来讲讲UI设计中的48dp定律. 那么先说说什么是dp ?其实对于一个非技术人员要把 ...
 - 试验添加RAC(ORA10G)节点
			
删除一个RAC节点:http://www.cnblogs.com/myrunning/p/4548624.html 1.1安装CLUSTERWARE软件 备注:在做添加删除节点时,10G版本一定要注意 ...
 - # 20145205《Java程序设计》第2周学习总结
			
教材学习内容总结 本章的学习内容主要是关于变量,在java编写中各个不同的变量定义,关于数字,根据范围不同所分的 -128~127的byte -32768~32767的short -214748364 ...