Objective-C

>>> code Car *car; car= makeCar(@"hebie",@"common",@"CRX",1988,2,110000,52); [garage addCar:car]; //NSPredicate NSPredicate *predicate; predicate=[NSPredicate predicateWithFormat: @"name == 'hebie'"]; code BOOL match = [predicate evaluateWithObject: car]; NSLog(@"%s", match? "YES":"no"); code NSArray *results; results = [cars filteredArrayUsingPredicate: predicate]; code >>> >>>
 * 1) =Objective－C内存管理=
 * 2) =NSPredicate=
 * 3) 前言：当你在编写软件时，需要获取一个对象集合，并通过某些已知条件计算该集合的值. 这时你需要保留符合某个条件的对象，删除哪些不满足条件的对象，从而提供一些有意义的对象. （本部分讲的是类过滤器）
 * 4) cocoa提供一个NSPredicate类，它用于指定过滤条件. 可以创建NSPredicate对象，通过该对象准确地描述所需的条件，对每个对象通过谓词进行筛选，判断它们是否与条件相匹配.
 * 5) cocoa用NSPredicate描述查询的方式，原理类似于在数据库中进行查询. 这里可以将NSPredicate看作是另一种间接的操作方式. 通过交换谓词对象，可以使用通用代码对数据进行过滤，而不必对相关田间进行硬编码.
 * 6) 下面我们介绍如何创建谓词：
 * 有两种基本的方式来创建NSPredicate对象：a）创建多个对象，并将它们组合起来. 这种方式需要使用大量的代码，如果正在构建通用用户接口来指定查询，这种方式比较简单；b）查询代码中的字符串，这种方式比较简单（对初学者来说）.
 * 这里着重介绍字符串查询谓词. 先看一点儿代码：
 * 计算谓词：上述的代码创建了一个谓词，接下来通过某个对象计算谓词：
 * code
 * 数组的过滤方法：**
 * 有一个特殊的方法可以实现这个功能，在顺序容器内过滤：
 * code