• 谓词在搜索的时候非常管用.简单示例代码如下:
  • 分类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 - 谓词的使用的更多相关文章

  1. iOS:转载:IOS谓词--NSPredicate

    IOS谓词--NSPredicate 分类: IOS应用2013-02-19 17:24 6792人阅读 评论(1) 收藏 举报 Cocoa 提供了NSPredicate 用于指定过滤条件,谓词是指在 ...

  2. IOS 谓词

    // 谓词 Person *person = [[Person alloc]init]; person.name = @"zhang san"; person.age = 20; ...

  3. iOS 谓词讲解

    1.NSPredicate (1)比较运算符 1.比较运算符 > .< .== . >= .<= . != 运算符还可以跟逻辑运算符一起使用,&&  ,  || ...

  4. iOS 谓词(NSPredicate)的应用

    Cocoa中谓词(Predicate)提供了一个通用的查询方式处理数据,可以获取和指定数据的过滤形式,Cocoa实际开发中可以是使用NSPredicate及其父类NSComparisonPredica ...

  5. IOS自动化定位方式

    原文地址http://blog.csdn.net/wuyepiaoxue789/article/details/77885136 元素属性的介绍 type:元素类型,与className作用一致,如: ...

  6. 关于UI自动化IOS元素定位方法说明

    1. 元素属性介绍 下图是通过weditor定位的微博的"我的钱包",各属性如下图: className:元素类型,如:XCUIElementTypeButton isEnable ...

  7. (转载)中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  8. 中文Appium API 文档

    该文档是Testerhome官方翻译的源地址:https://github.com/appium/appium/tree/master/docs/cn官方网站上的:http://appium.io/s ...

  9. appium desktop

    Appium-desktop 下载地址:https://github.com/appium/appium-desktop/releases 一般功能 这些能力跨越多个驱动因素. 仅限Android 这 ...

随机推荐

  1. UnicodeToGB2312

    http://www.myluoluo.com/unicodetogb2312.love 你是否遇到类似于:\u5355\u4f4d之类的让人纠结的字符? 一个JS文件中一堆一堆的全都是这种,分析起来 ...

  2. Xib中UIScrollView添加约束步骤

    要往scrollView里面添加子控件--从向往下排 0.设置scrollView的上下左右约束距离控制器view边距为零(确定frame的大小) 1.要往scrollView添加一个内容View 2 ...

  3. 【记录】尝试用android-logging-log4j去实现log输出内容到sd卡中的文件的功能

    [背景] 折腾: [记录]给Android中添加log日志输出到文件 期间,已经试了: [记录]尝试用android中microlog4android实现log输出到文件的功能 但是不好用. 然后就是 ...

  4. MYSQL的常用命令和增删改查语句和数据类型【转】

    连接命令:<a href="http://lib.csdn.net/base/mysql" class='replace_word' title="MySQL知识库 ...

  5. gitlab 创建SSH Keys 报500错

    gitlab 创建SSH Keys 报500错 看了一下日志 root@322323:/home/git/gitlab/log# cat production.log Errno::ENOMEM (C ...

  6. javascript面向对象(二):构造函数的继承

    本文来自阮一峰 这个系列的第一部分,主要介绍了如何"封装"数据和方法,以及如何从原型对象生成实例. 今天要介绍的是,对象之间的"继承"的五种方法. 比如,现在有 ...

  7. *HDU3357 判环

    Stock Chase Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)Total ...

  8. HDU2438 数学+三分

    Turn the corner Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others)T ...

  9. 继续(3n+1)猜想

    卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候, ...

  10. apache 虚拟目录

    补充:必须使用80端口才能正常使用  C:\Windows\System32\drivers\etc\hosts 最后添加上: 127.0.0.1 shenyi.com 127.0.0.1 offli ...