objective-c中使用cocoa的NSPredicate,谓词(十四)
来源:互联网 发布:mac版steam怎么安装 编辑:程序博客网 时间:2024/05/01 10:45
holydancer原创,如需转载,请在显要位置注明:
转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7380799
在语言上,谓语,谓词是用来判断的,比如“我是程序猿”中的是,就是表判断的谓语,“是”就是一个谓词,在objective-c中,应该说在COCOA中的NSPredicate表示的就是一种判断。一种条件的构建。我们可以先通过NSPredicate中的predicateWithFormat方法来生成一个NSPredicate对象表示一个条件,然后在别的对象中通过evaluateWithObject方法来进行判断,返回一个布尔值。还是看代码简单明了:
#import <Foundation/Foundation.h>@interface Human :NSObject{ NSString *name; int age; Human *child; }@property (copy)NSString *name;@property int age;@end@implementation Human@synthesize name;@synthesize age;@endint main(int argc, const char * argv[]){ @autoreleasepool { //利用kvc进行对象初始化 Human *human = [[Human alloc]init]; Human *child = [[Human alloc]init]; [human setValue:@"holydancer" forKey:@"name"]; [human setValue:[NSNumber numberWithInt:20] forKey:@"age"]; [human setValue:child forKey:@"child"]; [human setValue:[NSNumber numberWithInt:5] forKeyPath:@"child.age"]; NSPredicate *predicate1=[NSPredicate predicateWithFormat:@"name=='holydancer'"];//创建谓词判断属性 NSPredicate *predicate2=[NSPredicate predicateWithFormat:@"child.age==5"];//创建谓词判断属性的属性 //此处在创建谓词时可以有好多种条件写法,比如大小比较,范围验证,甚至像数据库操作那样的like运算符,这里就不一一列举了 BOOL tmp1=[predicate1 evaluateWithObject:human];//验证谓词是否成立,得到布尔返回值 BOOL tmp2=[predicate2 evaluateWithObject:human]; if (tmp1) { NSLog(@"human对象的name属性为'holydancer'"); } if (tmp2) { NSLog(@"human对象的child属性的age为5"); } } return 0;}
2012-03-21 19:59:42.668 predicate[2246:403] human对象的name属性为'holydancer'
2012-03-21 19:59:42.670 predicate[2246:403] human对象的child属性的age为5
关键字:objective-c ,objective c, oc ,谓词 ,NSPredicate ,IPhone开发基础 .
- objective-c中使用cocoa的NSPredicate,谓词(十四)
- objective-c中使用cocoa的NSPredicate,谓词(十四)
- objective-c中使用cocoa的NSPredicate,谓词(十四)
- objective-c中使用cocoa的NSPredicate,谓词
- Objective-C中谓词(NSPredicate)的应用
- 谓词的使用(NSPredicate)
- Objective-C之谓词NSPredicate
- objective-C之 NSPredicate(谓词)
- 谓词(NSPredicate)的使用
- oc中谓词的使用(NSPredicate)
- 实用知识:NSPredicate(谓词)的使用
- iOS谓词的使用 (NSPredicate)
- objective-C学习 谓词NSPredicate 可过滤
- 关于谓词NSPredicate的使用
- 谓词技术的使用 NSPredicate
- iOS开发基础之谓词(NSPredicate)的使用
- Iphone开发基础篇(十四)-ObjectC之谓词NSPredicate
- NSPredicate谓词过滤的简单使用
- jquer选择器
- 如何打印 RichTextBox
- 第四周实验报告(1)
- 设计模式之简单工厂模式
- perl准确识别IP地址的语句
- objective-c中使用cocoa的NSPredicate,谓词(十四)
- 如何打印 DataGridView
- 2012C++程序设计实验报告【5.2】
- jquery 下滚效果
- HDU–1016题 Prime Ring Problem
- EhCache实现OSGi缓存bundle
- oracle 创建表和插入的相关注意事项
- clean .svn
- 第四周实验报告(2)