Function CoreData预测数学故障

Function CoreData预测数学故障,function,math,core-data,nspredicate,Function,Math,Core Data,Nspredicate,首先,这是我的第一个问题,所以要友善:) 你们有没有注意到NSPredicate中的奇怪行为数学函数 我的例子是: 1) 我有带接口的离境班: @interface OTDeparture : NSManagedObject @property (nonatomic, retain) NSNumber * position; @end 2) 我使用谓词创建获取请求: NSPredicate *predicate=[NSPredicate predicateWithFormat:@"(posit

首先,这是我的第一个问题,所以要友善:)

你们有没有注意到NSPredicate中的奇怪行为数学函数

我的例子是:

1) 我有带接口的离境班:

@interface OTDeparture : NSManagedObject
@property (nonatomic, retain) NSNumber * position;
@end
2) 我使用谓词创建获取请求:

NSPredicate *predicate=[NSPredicate predicateWithFormat:@"(position-1)*(position-1) > 0"];
结果总是零个对象(谓词总是NO)。格式“(2-1)*(2-1)>0”和“(位置-1)*位置>0”也做同样的事情

这些谓词格式按预期工作(按预期返回对象):


我做错了什么,还是这真的是一个错误?我没有使用任何第三方的东西,只使用苹果提供的代码。

似乎你是对的,CoreData中有一些:((我有同样的问题-似乎接收你想要的东西的唯一方法是使用predicateWithBlock:方法,尽管我自己还没有尝试过。 请注意,predicateWithBlock:仅适用于内存中的存储。因此,最有可能的结果是,您只需遍历所有实体即可过滤数据,当然,您可以尝试在执行此操作之前至少进行一些过滤

"2*(position-1) > 0"
"2*2 > 0"
"position-3 > 0"