#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
Что не так?