NSPredicate文档中文翻译

由于觉得网上对于NSPredicate讲解比较粗略,所以打算先看苹果官方文档(如有错误,欢迎指正)。

概览

NSPredicate类是用来定义逻辑条件约束的获取或内存中的过滤搜索。

您可以使用谓词来表示逻辑条件,用于描述对象持久性存储在内存中的对象过滤。虽然从 NSComparisonPredicate, NSCompoundPredicate, 和 NSExpression的实例直接创建谓词是常见的,但是你会经常用NSPredicate的类方法解析的格式字符串来创建谓词。谓词格式字符串的例子包括:

简单的比较, 比如 grade== "7" 或者 firstNamelike "Shaffiq"

不区分大小写和音调的查找, 比如 namecontains[cd] "itroen"

逻辑运算, 比如 (firstName like "Mark") OR (lastName like "Adderley")

In OS X v10.5 and later, you can create €?between€ predicates such as datebetween {$YESTERDAY, $TOMORROW}.

您可以创建关系谓词,比如:

group.name like "work*"

ALL children.age > 12

ANY children.age > 12

您可以创建谓词操作,比如@sum.items.price < 1000 。完整语法参考,请参阅“谓词编程指南” 。

您也可以创建包含变量的谓词,那样谓词就可以在运行时(runtime)替换具体值之前预先定义。在os x v10.4,含变量的谓词,估算是一个两步骤的过程 (see predicateWithSubstitutionVariables: and evaluateWithObject:)。在os x v10.5及以后,你可以使用 evaluateWithObject:substitutionVariables:,它结合了这些步骤。

任务

创建谓词:

[plain] view plaincopy

+ predicateWithFormat:

+ predicateWithFormat:argumentArray:

+ predicateWithFormat:arguments:

– predicateWithSubstitutionVariables:

+ predicateWithValue:

+ predicateWithBlock:

评估一个谓词:

[plain] view plaincopy

– evaluateWithObject:

– evaluateWithObject:substitutionVariables:

获取字符串表现形式:

[plain] view plaincopy

– predicateFormat

类方法

1.predicateWithBlock:

创建并返回一个谓词,评估使用指定的块对象和绑定的字典。

+ (NSPredicate *)predicateWithBlock:(BOOL (^)(id evaluatedObject, NSDictionary *bindings))block;

参数

block

block施加于被评估的对象。

block带有两个参数:

evaluatedObject:被评估的对象。

bindings:替换变量的字典。字典必须包含接收器中所有变量的键值对。

如果evaluatedObject的计算结果为true,该块返回YES,否则为NO 。

返回值

一个评估对象使用了块的谓词。

特殊考虑

在os X v10.6.Core Data 在内存和原子存储中支持这个方法,但是基于SQLite的存储是不支持的。

有效性

4.0及以后有效

声明于

NSPredicate.h

2.predicateWithFormat:

由给定的格式和解析结果创建一个新的字符串来创建并返回一个新的谓词。

+ (NSPredicate *)predicateWithFormat:(NSString *)format, ...

参数

format:新谓词的格式字符串。

...:以逗号分隔的参数列表。

返回值

一个新的谓词,由创建一个新的格式字符串并且解析这个结果(即那个新的格式字符串)所得。

讨论

格式字符串的格式和变量替换的限制,请参阅 Predicate Format String Syntax。

有效性

IOS 3.0及以后有效。

相关的代码例子

ThreadedCoreData

ToolbarSearch

WeatherMap

声明于

NSPredicate.h

3.predicateWithFormat:argumentArray:

创建并且返回一个新的谓词,通过把数组里面的值传入到格式字符串中并且解析所得。

+ (NSPredicate *)predicateWithFormat:(NSString *)predicateFormat argumentArray:(NSArray*)arguments

参数

predicateFormat:新谓词的格式字符串。

arguments:要代入格式字符串的数组。代入的时候数组里的值按照数组里的顺序。

返回值

一个新的谓词,通过把数组中的值按顺序代入格式字符串并解析所得。

讨论

格式字符串的格式和变量替换的限制,请参阅 Predicate Format String Syntax。

有效性

IOS 3.0及以后有效。

声明于

NSPredicate.h

4.predicateWithFormat:arguments:

创建并且返回一个新的谓词,通过把参数列表中的参数代入格式字符串中并且解析得到。

参数

predicateFormat:新谓词的格式字符串。

argList:代入格式谓词中的内容。参数列表代入顺序即它们出现在列表中的顺序。

返回值

一个新的谓词,通过把参数列表中的值按顺序代入格式字符串并解析所得。

讨论

格式字符串的格式和变量替换的限制,请参阅 Predicate Format String Syntax。

有效性

IOS 3.0及以后有效。

声明于

NSPredicate.h

5.predicateWithValue:

通过评估一个给定的值来创建并返回一个谓词。

+ (NSPredicate *)predicateWithValue:(BOOL)value

参数

value:新谓词需要评估的值。

返回值

评估一个值得到的谓词。

有效性

IOS 3.0及以后有效。

声明于

NSPredicate.h

实例方法

1.evaluateWithObject:

返回一个给定的BOOL值,用于指示一个给定的对象是否匹配接收者的特殊条件。

- (BOOL)evaluateWithObject:(id)object

参数

objec:接收者评估的对象。

返回值

如果对象匹配接收者特殊条件则返回YES,否则NO.

有效性

IOS 3.0及以后有效。

声明于

NSPredicate.h

2.evaluateWithObject:substitutionVariables:

返回一个给定的BOOL值,用于指示一个给定的对象在一个给定的变量字典中的值代入后是否匹配接收者的特殊条件。

- (BOOL)evaluateWithObject:(id)object substitutionVariables:(NSDictionary *)variables

参数

objec:接收者评估的对象。

variables:替换变量的字典。字典必须包含接收者所有变量的键值对。

返回值

全部匹配返回YES,否则NO.

讨论

此方法和那两个步骤"首先引用接收者的predicateWithSubstitutionVariables:然后引用返回的谓词的 evaluateWithObject:"返回的结果一样。此方法在反复评估不同变量替换的谓词情况下被优化。

有效性

IOS 3.0及以后有效。

声明于

NSPredicate.h

3.predicateFormat

返回接收者的格式字符串。

- (NSString *)predicateFormat

返回值

接收者的格式字符串

特殊考虑

用这个方法返回的字符串不能够保证和使用predicateWithFormat:等方法返回的字符串一样。你不能用这个方法来创建一个谓词的持久化表示,但是你可以用它来再现原始谓词。如果你需要一个谓词的持久化表示,你可以创建一个archive(NSPredicate采用NSCoding协议)

有效性

IOS 3.0及以后有效。

声明于

NSPredicate.h

4.predicateWithSubstitutionVariables:

通过用给定的替换字典中的值替换接收者的变量,返回接收者的副本。

- (NSPredicate *)predicateWithSubstitutionVariables:(NSDictionary *)variables

参数

variables:替换变量字典。字典必须包含接收者素有变量的键值对。

返回值

接收者的值被特殊变量替换所返回的接收者副本。

讨论

接收者本身不会被方法所改变,所以你可以重复使用任意数量的替换。

有效性

IOS 3.0及以后有效。

声明于

NSPredicate.h

具体实例请参照网上的例子

时间: 2024-12-11 10:10:13

NSPredicate文档中文翻译的相关文章

Vlang官网文档(中文翻译)-vlang中文文档--v0.1.0_20180625

PS:主要为自己学习,,,,看的时候顺便翻译的,,,渣翻(非全人工)勿喷. 介绍 V是一种用于构建可维护软件的静态类型编译编程语言. 它与Go相似,也受到Oberon.Rust.Swift的影响. V是一种非常简单的语言,阅读这份文档大概只需要半小时的时间,读完之后,您将学习到V的全部内容. 尽管很简单,但是它为开发人员提供了很多功能,你能用其它编程语言做的任何事情,都可以用V做到. Hello World fn main() { println('hello world') } 函数用 fn

Babylon.js官方性能优化文档中文翻译

在这里列出Babylon.js官方性能优化文档的中英文对照,并在CardSimulate项目里对其中的一些优化方法进行实践. How To 如何 Optimize your scene 优化你的场景 Table of contents 内容列表 How To Optimize Your Scene 如何优化你的场景 Use TransformNode instead of AbstractMesh or empty meshes 使用变换节点代替抽象网格或者空网格 Changing per me

PHP经验——PHPDoc PHP注释的标准文档(翻译自Wiki)

标记 用途 描述 @abstract   抽象类的变量和方法 @access public, private or protected 文档的访问.使用权限. @access private 表明这个文档是被保护的. @author 张三 <[email protected]> 文档作者 @copyright 名称 时间 文档版权信息 @deprecated version 文档中被废除的方法 @deprec   同 @deprecated @example /path/to/example

PHPDoc PHP注释的标准文档(翻译自Wiki)

文档注释,无非"//"和"/**/"两种 ,自己写代码,就那么点,适当写几句就好了:但是一个人总有融入团队的一天,团队的交流不是那几句注释和一张嘴能解决的,还需要通用的注释标准. PHPDoc是PHP文档注释的一个标准,可以帮助我们在注释文档时有规范,查看别人的代码时更方便.下面的表格是我翻译的WIKI上的PHPDoc,个人英文水平有限,可以参照原文. 文档翻译自:http://en.wikipedia.org/wiki/Phpdoc 标记 用途 描述 @abstr

一个GO语言 的文档中文译本网站

一个GO语言 的文档中文译本网站: 1. <学习Go语言>中文版:http://mikespook.com/learning-go/ 2.GITHUB :https://github.com/mikespook/Learning-Go-zh-cn 一个GO语言 的文档中文译本网站,布布扣,bubuko.com

swift api帮助文档中文 目录列表

欢迎来到 Swift    关于Swift    Swift之旅语言指南    基础知识    基本操作    字符串和字符    集合类型    控制流    函数    闭包    枚举    类和结构体    属性    方法     标     继承     初始化     反初始化     ARC     可选链接     类型转换     嵌套类型     扩展     协议     泛型     高级操作符 语言引用     关于语言引用     词法结构     类型     表

利用jasperreports报表生成pdf文档中文不能显示问题解决方法

在利用jasperreports5.6.0系列开发工具生成的jrxml格式文件和jasper格式文件的项目中,和pdf中字体有关的jar包有如下两个: iText-2.1.7.js2.jar:iTextAsian.jar. 另外在开始设计jrxml格式文件的时候,要注意选择元素(Text Field,Static Text等)的属性值设置. 利用jasperreports报表生成pdf文档中文不能显示问题解决方法

pdf文档在线翻译的简单方法有哪些?

pdf文档在线翻译的简单方法有哪些?当pdf文件需要在线翻译的时候我们可以将准备好的pdf文件进行在线翻译,下面就让小编给大家简单介绍一下. 步骤一:我们可以直接进入到迅捷PDF在线转换器在线网站中进行翻译即可,但是进入到在线网站我们需要在浏览器上进行搜索进入: 步骤二:进入之后可以在导航栏中找到文档处理中的PDF在线翻译:步骤三:我们可以直接进行自定义选择,自定义一下设置转换,然后进行文件的选择:步骤四:上传文件的时候直接将pdf文件点击上传到界面中或者是直接选择文件进行上传即可:步骤五:等文

Word文档怎么翻译?翻译word文档简单步骤讲解

将文档进行翻译是我们经常遇到的事情,市面上也出现了很多翻译文档的工具,但是使用起来总觉得不是那么好用,一款易上手的工具对我们来说是非常重要的,今天的课堂就是小编给大家分享使用工具将word文档进行翻译的三个小技巧,一起来了解下吧! 文档翻译工具一:在线转换器 1.进入PDF在线转换器页面,在菜单栏中找到文档处理,在弹出的子栏目中找到word在线翻译: 2.通过点击选择文件将需要进行翻译的文件上传至指定区域即可,在自定义转换设置中可以根据自己的需要选择翻译的语种: 3.点击开始翻译,当进度条显示转