谓词-——搜索用

一,定义:

NSPredicate 用于定义一个逻辑条件,通过该条件可执行搜索或内存中的过滤操作。

谓词由NSPredicate 对象来代表,有3个子类:NSComparisonPredicate、NSCompoundPredicate和NSExpression。

二,过滤集合:

使用谓词来过滤不可变集合与过滤可变的区别是:

  使用谓词过滤不可变集合时,方法将会返回符合条件的集合元素组成的新集合;

  使用谓词过滤可变集合时,方法没有返回值,该方法直接剔除改集合中不符合谓词条件的元素。

eg:

NSPredicate *pred =[NSPredicate  preducateWithFormat:@"name CONTAINS ‘ 大王‘ "];

三,在谓词中使用占位符参数

%K:该占位符用于动态传入参数;

%@:该占位符用于动态设置属性值;

此外,

[NSPredicate predicateWithFormat:@"name CONTAINS $SUBSTR"];

时间: 2024-09-29 22:30:25

谓词-——搜索用的相关文章

用谓词搜索实现本地搜索

从网络请求数据,然后存储到数组中,这时候要进行搜索,我们可以使用谓词搜索. - (void) textFieldDidChange:(UITextField*) TextField{ NSString *conditionStr = TextField.text; NSLog(@"+++++%@", conditionStr); // 2. 创建谓词,准备进行判断的工具 NSPredicate *predicate = [NSPredicate predicateWithFormat:

NSPredicate谓词搜索使用小记

iOS中的搜索正常情况下用NSPredicate都足以解决问题,比如我们有一个原数组_dataArraty: NSPredicate*predicate =[NSPredicate predicateWithFormat:@"name like %@", searchTexts]; NSArray * resultArr = [_dataArray filteredArrayUsingPredicate:predicate]; like语法可以匹配搜索 一般情况下,搜索是否包含某个字符

ios UISearchDisplayController 实现 UITableView 搜索功能

UISearchDisplayController 是苹果专为 UITableView 搜索封装的一个类. 里面内置了一个 UITableView 用于显示搜索的结果.它可以和一个需要搜索功能的 controller 关联起来,其它的像原 TableView 和搜索结果 TableView 的切换, mask 的显示等等都 封装好了,使用起来非常非常的简单.特别是要实现全屏搜索时使用最多. 全屏搜索的意思是如果你用了  NavigationBar 当点击搜索框时 TableView 会自动弹上去

UITableView的搜索:SearchBar和SearchDisplayController;UISearchController

之前我写过一篇关于在tableView中利用谓词搜索的随笔,当时使用的是自定义textField,最近在写电子书,需要在书目时实现搜索功能.所以在此把以前用于实现搜索功能系统提供的的SearchBar和SearchDisplayController的方法在这里和大家分享一下.不过在iOS8滞后,苹果已经不再推荐我们是使用这两个旧东西,而是让我们使用UISearchController,自然我也会把这个新东西的用法在这里演示一下. SearchBar和SearchDisplayController

[iOSDemo 搜索框]

// // MainViewController.h // UISearchDisplayControllerDemo // // Created by Enwaysoft on 14-8-20. // Copyright (c) 2014年 Enway. All rights reserved. // #import <UIKit/UIKit.h> @interface MainViewController : UITableViewController{ NSArray *data; NS

ios UITableView 搜索

自己实现 UITableView 搜索,相对于使用 UISearchDisplayController 来说自己写稍微麻烦了那么一点点,但是更加灵活.主要就是用一个字段区分出当前是搜索还是非搜索,然后 reload 相应的 data 就行了,和 UISearchDisplayController 的实现也很像,不过 UISearchDisplayController是两个 tableview 切换,这里我们是一个 tableview load 不同的数据. 关键代码: @interface Ma

iOS--- UITableView + UISearchDisplayController - - - - -实现搜索功能

iOS中UISearchDisplayController用于搜索,搜索栏的重要性我们就不说了,狼厂就是靠搜索起家的,现在越来越像一匹没有节操的狼,UC浏览器搜索栏现在默认自家的神马搜索,现在不管是社交,O2O还是在线教育等都会有一个搜索栏的实现,不过彼此实现效果是不一样的.iOS中的搜索栏实现起来相对简单一点,网上也有很多参考资料,不过靠谱的不是很多,很多都是iOS 8.0之前的实现,iOS 8.0上的实现貌似很少看到,可以运行,不过会看到searchDisplayController' is

iOS 字符串搜索方法大全

字符串搜索主要用于UITableView的搜索功能的筛选,过滤,查询 下面是一些流行的搜索查询方法 一.遍历搜索 for循环 根据要求:精确搜索(判读字符串相等)   模糊搜索(字符串包含) 相关知识点 在一个字符串中搜索子字符串 NSString *str1 = @"can you stest speak English"; NSString *str = @"stest"; //在str1这个字符串中搜索stest,推断有没有 if ([str1 rangeOf

iOS开发-NSPredicate

Cocoa中谓词(Predicate)提供了一个通用的查询方式处理数据,可以获取和指定数据的过滤形式,Cocoa实际开发中可以是使用NSPredicate及其父类NSComparisonPredicate和NSCompoundPredicate.其风格类似于SQL查询语言和正则表达式的混合体,提供了具有表现力的,自然语言界面来定义一个集合被搜寻的逻辑条件.一般来说稍微操作过数据库基本上很容易理解其中的方法,至于使用的方法也很简单. 集合中的NSPredicate Foundation提供使用谓词

UISearchController 很坑

最近一个项目用到了很多搜索 踩了一大波坑 还要继续踩下去 直接上代码了 <UISearchControllerDelegate,UISearchResultsUpdating> //声明 @property (nonatomic,retain) UISearchController *searchController; - (void)createUI{ self.searchController = [[UISearchController alloc]initWithSearchResul