NSPredicate 用于使用 NSDecimalNumber 计算的字段
我想使用 NSDecimalNumber 值过滤 Core Data 中的计算字段(Apple 文档中的二进制表达式)。
该实体有两个属性:field1 和 field2,都是 Decimal 类型
谓词是:
NSDecimalNumber *number = ...;
NSString *predicateString = @"(field1 + field2) <= %@";
NSArray *arguments = [NSArray arrayWithObjects:number, nil];
[NSPredicate predicateWithFormat:predicateString argumentArray:arguments];
但这不起作用。它没有任何回报。
当我单独过滤每个属性时,它就起作用了。例如:
NSString *predicateString = @"field1 <= %@"; //ok
NSString *predicateString = @"field2 <= %@"; //ok
怎么了?
I want to filter a calculated field (binary expression in terms of Apple documentation) in Core Data with a NSDecimalNumber value.
The entity has two attributes: field1 and field2, both of type Decimal
The predicate is:
NSDecimalNumber *number = ...;
NSString *predicateString = @"(field1 + field2) <= %@";
NSArray *arguments = [NSArray arrayWithObjects:number, nil];
[NSPredicate predicateWithFormat:predicateString argumentArray:arguments];
But this doesn't work. It gives nothing back.
When i filter each Attribute alone then it works. For example:
NSString *predicateString = @"field1 <= %@"; //ok
NSString *predicateString = @"field2 <= %@"; //ok
What's wrong?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论