NSPredicate для вычисляемого поля с NSDecimalNumber

#objective-c #cocoa-touch #core-data #nspredicate #nsdecimalnumber

#objective-c #cocoa-touch #ядро-данные #nspredicate #nsdecimalnumber

Вопрос:

Я хочу отфильтровать вычисляемое поле (двоичное выражение в терминах документации Apple) в Core Data со значением NSDecimalNumber.

Объект имеет два атрибута: 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
  

Что не так?