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
どうしたの?