首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

iOS-谓词使用详解import typedef NS_ENUM(NSInteger, PersonSex) {

`FALSE、NO`:代表逻辑假 `TRUE、YES`:代表逻辑真 `NULL、NIL`:代表值 `SELF` :代表正在被判断对象自身 ` "string"或'string'`:代表字符串...- NSArray提供了如下方法使用谓词来过滤集合 `- (NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate:`使用指定谓词过滤...NSArray集合,返回符合条件元素组成新集合 - NSMutableArray提供了如下方法使用谓词来过滤集合 `- (void)filterUsingPredicate:(NSPredicate...:(NSPredicate *)predicate NS_AVAILABLE(10_5, 3_0):`作用同NSArray方法 - NSMutableSet提供了如下方法使用谓词来过滤集合 `-...>通过上面的描述可以看出,使用谓词过滤不可变集合和可变集合区别是:过滤不可变集合时,会返回符合条件集合元素组成新集合;过滤可变集合时,没有返回值,会直接剔除不符合条件集合元素 下面让我们来看几个例子

1.6K50

30分钟摸透iOS中谓词NSPredicate来龙去脉

NSPredicate提供谓词可以分为两类:比较谓词和复合谓词。 比较谓词:比较谓词通过使用比较运算符来描述所符合条件属性状态。..., ...; + (NSPredicate *)predicateWithFormat:(NSString *)predicateFormat arguments:(va_list)argList; 使用格式化字符串进行谓词初始化十分灵活...= [NSPredicate predicateWithFormat:@"length = 5"]; //对于这个数组中字符串,即是检索字符串长度为5元素 NSArray * test...*)predicate; 四、谓词几种使用场景     谓词主要用在验证对象,数组和集合过滤。...对象验证前面有介绍,关于数据和集合过滤函数,类别如下: @interface NSArray (NSPredicateSupport) //不可变数组使用过滤器后返回新数组

1.4K20
您找到你想要的搜索结果了吗?
是的
没有找到

iOS小技能:参数名ASCII码从小到大排序、对象数组排序

引言 利用KVC valueForKeyPath API、谓词NSPredicate、数组sortedArrayUsingComparator:API进行实现。.../** 递归 - 处理key对应Value是字典情况 request body参数名ASCII码从小到大排序(字典序), 使用URL键值对格式拼接成字符串 (key1...(数组元素为 自定义类型) iOS NSPredicate应用指南之【从数组搜索特定条件元素】(从数组中筛选type=8电子签名数据,避免遍历数组 certificateInfoList) /...:返回指定属性去重后数组 @unionOfObjects:返回指定属性数组,不去重 属性值不能为,否则产生异常。...]; NSArray *arFiltered = [maTemp filteredArrayUsingPredicate:predicate];//以一定条件(特定日期)过滤maTemp

1.7K10

OC学习14——谓词

一、谓词基本概念与使用 1、谓词(NSPredicate)用于定义一个逻辑条件,通过该条件可执行搜索或内存中过滤操作。上一篇文章中介绍集合都提供了使用谓词对集合进行过滤方法。...NSArray提供了如下方法使用谓词来过滤集合: -(NSArray *)filteredArrayUsingPredicate:(NSPredicate *)predicate::使用制定谓词过滤NSArray...:(NSPredicate *)predicate::使用制定谓词过滤NSArray集合,返回集合中符合谓词条件元素组成新集合  NSMutableSet提供了如下方法使用谓词来过滤集合: -(void...LIKE:检查某个字符串是否匹配指定字符串模板 MATCHES:检查某个字符串是否匹配指定正则表达式   上述方法都是区分大小写,如果要不区分大小写和重音符号,则可以在运算符后面使用[c]、[d...FALSE、NO:逻辑假 TRUE、YES:逻辑真 NULL、NIL:代表一个值 SELF:代表正在被判断对象 "text"或'text':代表字符串 数组:数组元素用英文字符隔开。

1.1K100

编码篇 - 正则表达式及其相关

前言 有时我们需要在一大段长文本中过滤出我们需要字段,或者检验该文本是否符合要求(该文本是否是邮箱,链接,电话号码或身份证),这时候就需要用到正则表达式了,当然我们也可以使用 NSPredicate...# 其他情况下会出现判断错误情况,未亲测,有待研究 使用谓词过滤集合 # 我想这应该是 NSPredicate 最重要最强大用处了, 对于集合中条件刷选,我们一般使用 for循环...而 NSPredicate 可以使用简洁语句就实现如此繁琐操作, 的确是省事了不少 NSArray提供了如下方法使用谓词来过滤集合 - (NSArray*)filteredArrayUsingPredicate...:(NSPredicate *)predicate:使用指定谓词过滤NSArray集合,返回符合条件元素组成新集合 NSMutableArray提供了如下方法使用谓词来过滤集合 - (void...)filterUsingPredicate:(NSPredicate *)predicate:使用指定谓词过滤NSMutableArray,剔除集合中不符合条件元素 NSSet提供了如下方法使用谓词来过滤集合

95620

【IOS 开发】Objective-C Foundation 框架 -- 字符串 | 日期 | 对象复制 | NSArray | NSSet | NSDictionary | 谓词

- 创建方法 : 使用 NSPredicate  "predicateWithFormat :" 方法 创建 NSPredicate 对象; -- 没有占位符谓词结果计算 : 直接使用 NSPredicate...NSArray * ) filteredArrayUsingPredicate : (NSPredicate *) predicate :" 方法 : 使用谓词过滤 NSArray 集合, 返回过滤新集合...; -- "- (void) filterUsingPredicate : (NSPredicate *) predicate :" 方法 : 使用谓词过滤 NSMutableArray 集合, 直接删除集合中不合格元素...- 创建方法 : 使用 NSPredicate  "predicateWithFormat :" 方法 创建 NSPredicate 对象; -- 没有占位符谓词结果计算 : 直接使用 NSPredicate...NSArray * ) filteredArrayUsingPredicate : (NSPredicate *) predicate :" 方法 : 使用谓词过滤 NSArray 集合, 返回过滤新集合

1.1K20

Objective-C 数组筛选

下面介绍一个更简便方法来实现 简介 NSPredicate类主要用来指定过滤条件,该对象可以准确描述所需条件,对每个对象通过谓词进行筛选,判断是否与条件相匹配。...谓词是指在计算机中表示计算真假值函数。原理和用法都类似于SQL查询中where,作用相当于数据库过滤取。主要用于从集合中分拣出符合条件对象或者数据模型,也可以用于字符串正则匹配....一般, NSPredicate筛选过滤条件可以是, 逻辑运算符号(> , < , =),范围运算符(IN,BETWEEN),字符包含/匹配/模糊搜索(BEGINSWITH,ENDSWITH,CONTAINS...NSPredicate用法 1.创建NSPredicate NSPredicate *predicate = [NSPredicate predicateWithFormat:@"过滤条件"];...2.判断指定对象是否满足NSPredicate创建过滤条件 [predicate evaluateWithObject:model]; 3.将array通过创建predicate进行过滤,并返回符合条件数据

1.4K10

iOS小技能:封装银联接口协议(收银台订单退款、查询机制)【下篇】

,签名使用服务商密钥 连锁商户号 groupno 否 String(15) 连锁商户为其下门店发交易情况返回,签名使用连锁商户密钥 返回状态码 status 是 String(16) 0表示成功,...2.1 订单列表数据追加本地数据:数据去重和按照时间戳排序 数据去重 iOS数据搜索技巧:1、 应用NSPredicate进行数据筛选:从数组搜索特定条件元素2、利用正则表达式进行匹配查找数据3、使用系统特定...BOOL )iscontainsinarr:(NSArray*)arr{ NSPredicate* predicate = [NSPredicate predicateWithFormat...:predicate];//以一定条件(特定日期)过滤数组,即进行大数据搜索。...chapter=20_1 3.2 修改返回报文 去掉空格之后,再使用。否则会导致节点值会包含空格 正确格式 <!

74650

MagicalRecord,一个简化CoreData操作工具库

NSArray *people = [Person MR_findAllWithPredicate:peopleFilter]; 返回 一个 NSFetchRequest NSPredicate *peopleFilter...= [Person MR_numberOfEntities]; 或者,你也可以或者符合指定过滤条件实体总数量: NSNumber *count = [Person MR_numberOfEntitiesWithPredicate...[person MR_importValuesForKeysWithObject:contactInfo]; 分为两步写法,在你尝试使用属性更新已有实体时,会很有用....一个常见情况是,要导入 JSON数据中,数字字符串很容易被误处理为一个真实数字.如果你想要确保某个值是以字符串形式导入,你可以这样做: @interface MyGreatEntity @property...:arrayOfPeopleData]; NSArray *idList = [arrayOfPeopleData valueForKey:@"id"]; NSPredicate *predicate

1.5K50

储存篇 - CoreData使用大全

四、手动创建CoreData使用 值得注意是:下面的例子中我们可以直接使用创建目的实体类如:Dog,也可以使用NSManagedObject 这一公共实体类,可以使用KVC赋值,也可以使用 ....(搜索name属性中包含”lifengfeng“那条记录,注意等号必须加,可以有空格,也可以是==) NSPredicate *predicate = [NSPredicate predicateWithFormat...(搜索所有name属性不为“lifengfeng”数据) NSPredicate *predicate = [NSPredicate predicateWithFormat:@"name!...arrayWithObject:sort]; //设置条件过滤(name like '%lifengfeng%'): //设置条件过滤时,数据库里面的%要用*来代替...对于MagicalRecord 使用感受就是,确实如它名称一样,如此简洁和方便实现了对象增删改查,如此充满魔力,关于更多使用可以参考上面的中文文档,相信大家都可以熟练掌握这个好用类库!

2.4K20

iOS开发之EventKit框架应用

使用日历和提醒事宜这两个应用,可以提高生活工作效率,例如邮件应用通过与日历交互可以将会议邮件添加到用户日程中,EventKit框架则是提供了接口与这两个应用进行交互。...使用如下代码可以添加新日历,通常,第三方应用如果要向用户日历中添加事件,可以先添加一个新日历: - (void)createNewCalendar { EKCalendar *calendar...**)error; // 通过identifier获取事件 - (nullable EKEvent *)eventWithIdentifier:(NSString *)identifier; // 使用给定...NSPredicate进行事件查询 - (NSArray *)eventsMatchingPredicate:(NSPredicate *)predicate; // 使用给定NSPredicate...:(nullable NSArray *)calendars; - (NSPredicate *)predicateForIncompleteRemindersWithDueDateStarting

3.9K51

【IOS开发基础系列】UISearch专题

@property (nonatomic, retain) NSArray*dataArr; //存储检索后数据 @property (nonatomic, retain) NSArray*arr;... @"106", @"311", @"432", @"543", @"664", @"785", @"806", nil nil];     } return _dataArr; } //如果检索后数据为...*)searchController {      //谓词检测 NSPredicate *predicate = [NSPredicate predicateWithFormat: @"self contains...,即搜索后数据 self.cell.textLabel.text = self.arr[indexPath.row]; return self.cell; }         注.以上是实现搜索框搜索能...(当搜索内容为时,返回时所有数据,如果搜索内容为,返回空时,需要进行其它修改操作.) 4 开发技巧 4.1 兼容IOS7、8并结合自定义导航条使用 4.1.1 核心思路         虽然UISearchController

28520

iOS开发之AddressBookUI框架详解

其中封装好了一套选择联系人,查看联系人界面,在需要时开发者可以直接调用。当然对于联系人界面,开发者也可以进行完全自定义,下面链接博客中介绍了如何使用AddressBook框架操作通讯录与联系人。...数组中为属性ID 在AddressBook框架介绍博客中有讲解 @property(nonatomic,copy,nullable) NSArray *displayedProperties...@property(nonatomic,copy,nullable) NSPredicate *predicateForEnablingPerson; //设置一个筛选条件 过滤掉不可选择联系人 @...property(nonatomic,copy,nullable) NSPredicate *predicateForSelectionOfPerson; //设置一个筛选条件 过滤掉不可显示属性 @...,ABPersonViewController需要使用一个通讯录中已经存在联系人作为参数进行展示,ABUnknownPersonViewController则不然,你可以使用一个通讯录中不存在联系人对象来进行界面的渲染

65500
领券