3

NSDecimalNumber値を使用して、Core Dataの計算フィールド(Appleのドキュメントではバイナリ式)をフィルタリングしたいと思います。

エンティティには、field1とfield2の2つの属性があり、どちらも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

どうしたの?

4

0 に答える 0