objective-c中使用cocoa的NSPredicate,谓词(十四)

objective-c中使用cocoa的NSPredicate,谓词(十四),第1张

概述holydancer原创,如需转载,请在显要位置注明: 转自holydancer的CSDN专栏,原文地址:http://blog.csdn.net/holydancer/article/details/7380799 在语言上,谓语,谓词是用来判断的,比如“我是程序猿”中的是,就是表判断的谓语,“是”就是一个谓词,在objective-c中,应该说在COCOA中的NSPredicate表示的就是一

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属性的age5


关键字:objective-c,objective c,oc,谓词 ,nspredicate  ,IPhone开发基础 .


好了,写到这里大家就会发现谓词的用法其实很简单,语法结构有点儿类似之前我们介绍的KVC,灵活多变,我们暂且掌握到这里便足够了。另外,到今天为止,我们的objective-c基础就告一段落了,马上我要推出IPhone开发的教学博客,希望大家继续关注。如果我之前的博客有什么错误的地方或者不够清楚的,可以评论告诉我,最后,感谢关注。 总结

以上是内存溢出为你收集整理的objective-c中使用cocoa的NSPredicate,谓词(十四)全部内容,希望文章能够帮你解决objective-c中使用cocoa的NSPredicate,谓词(十四)所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/web/1061246.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2022-05-25
下一篇2022-05-25

发表评论

登录后才能评论

评论列表(0条)

    保存