具有轮函数的 NSpredicate

发布于 2024-12-06 23:42:37 字数 521 浏览 1 评论 0原文

我需要将 NSPredicate 与 round 函数一起使用。 例如:

Child* child1 = [self myFirstChild];
NSPredicate *predicate = [NSPredicate predicateWithString:@"round(SELF.age) > 12"];
BOOL twelveOrAlmostTwelve = [predicate evaluateWithObject:child1];

文档中没有这样的功能: http://developer.apple.com/library/mac /documentation/Cocoa/Conceptual/Predicates/Predicates.pdf

有什么想法吗? 谢谢

I need to use NSPredicate with a round function.
e.g. :

Child* child1 = [self myFirstChild];
NSPredicate *predicate = [NSPredicate predicateWithString:@"round(SELF.age) > 12"];
BOOL twelveOrAlmostTwelve = [predicate evaluateWithObject:child1];

There is no such function in documentation:
http://developer.apple.com/library/mac/documentation/Cocoa/Conceptual/Predicates/Predicates.pdf

Any ideas?
Thanks

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

原野 2024-12-13 23:42:37

您可以在扩展类中使用自己定义的函数。
IE:

[NSPredicate predicateWithFormat:@"FUNCTION('12.12345','round:',3) = 12.123"]

您需要在您的 ie 类别中定义此方法。 NSString:

-(NSNumber*) round:(NSString*) precision;

看页面:
http://funwithobjc.tumblr.com/post/2922267976/using -自定义函数与ns表达式

You can use your own defined function in extensions class.
IE:

[NSPredicate predicateWithFormat:@"FUNCTION('12.12345','round:',3) = 12.123"]

and you need to define this method in your category for ie. NSString:

-(NSNumber*) round:(NSString*) precision;

look at the page:
http://funwithobjc.tumblr.com/post/2922267976/using-custom-functions-with-nsexpression

恋竹姑娘 2024-12-13 23:42:37

您不能生成任意谓词函数。然而,在这种情况下,答案很简单:

NSPredicate *predicate = [NSPredicate predicateWithString:@"SELF.age >= 11.5"];

You cannot generate arbitrary predicate functions. In this case, however, the answer is trivial:

NSPredicate *predicate = [NSPredicate predicateWithString:@"SELF.age >= 11.5"];
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文